2015-09-16 49 views
7

我在我的zsh shell中收到jobs,fgbg命令的奇怪行为。下面是一个例子(这种情况发生的所有命令,而不仅仅是python):zsh中怪异的“作业”行为

$ python & 
[1] 21214 
Python 2.7.8 (default, Oct 19 2014, 16:02:00) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.54)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
[1] + 21214 suspended (tty output) python 
$ jobs 
[1] + suspended (tty output) python 
$ fg 1 
fg: job not found: 1 
$ bg 1 
bg: job not found: 1 

我使用

回答

19

您可以用来fg N在OS X上的标准哦,我-的zsh安装(其中N是一个工作号码)在Bash工作。但是Zsh有点不同,需要%;例如,fg %1。 Bash的行为是方便的,这样就可以使岩组做同样的:

fg() { 
    if [[ $# -eq 1 && $1 = - ]]; then 
     builtin fg %- 
    else 
     builtin fg %"[email protected]" 
    fi 
} 

同样可以为bghistory来完成。这最初来自this thread

+2

或者学习*真实*简短的方法:只需键入'%1'。假设'fg'。 –

+0

我以为zsh是bash的一个严格的超集。这种行为怎么会不一样? –

+0

Zsh不是Bash的严格超集:http://zsh.sourceforge.net/FAQ/zshfaq02.html –