2015-09-16 71 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 –