zsh 中奇怪的“工作”行为
Posted
技术标签:
【中文标题】zsh 中奇怪的“工作”行为【英文标题】:Weird "jobs" behavior within zsh 【发布时间】:2015-12-13 09:31:53 【问题描述】:我的 zsh shell 中的 jobs
、fg
和 bg
命令出现了奇怪的行为。这是一个示例(所有命令都会发生这种情况,而不仅仅是python
):
$ 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
我在 OS X 上使用标准的 oh-my-zsh 安装。
【问题讨论】:
【参考方案1】:您可能习惯于在 Bash 中工作的fg N
(其中 N 是工作编号)。但是在 Zsh 中有点不同,需要%
;例如,fg %1
。 Bash 的行为很方便,所以你可以让 Zsh 做同样的事情:
fg()
if [[ $# -eq 1 && $1 = - ]]; then
builtin fg %-
else
builtin fg %"$@"
fi
bg
和 history
也可以这样做。这最初来自this thread。
您也可以只输入fg
并隐含%1
。当您有一些工作要做时,制表符完成也非常适合:fg<tab>
【讨论】:
或者学习真正的捷径:只需输入%1
。假设fg
。
我认为 zsh 是 bash 的严格超集。为什么这种行为不一样?
Zsh 不是 Bash 的严格超集:zsh.sourceforge.net/FAQ/zshfaq02.html
@BenSandler 我喜欢并接受zsh方式,但是,虽然lol〜改变习惯很敏感,但不一样。以上是关于zsh 中奇怪的“工作”行为的主要内容,如果未能解决你的问题,请参考以下文章
Chrome中奇怪的document.cookie行为[重复]