Dav*_*ave 9 bash zsh shell command-line
我只是将一堆代码粘贴到我的 shell 中,但%
在运行命令之前忘记删除前导。它似乎什么也没做。为什么这在我的 shell ( zsh ) 中没有任何作用?
> % echo foo
Run Code Online (Sandbox Code Playgroud)
在bash 中,我得到以下信息
> % echo foo
bash: fg: %: no such job
Run Code Online (Sandbox Code Playgroud)
我只是想确保运行我的命令没有产生一些副作用。
%
指的是“jobid”,它用作 zsh 的“作业控制和过程控制”功能的一部分。引用用户指南:
'fg' is the default operation on jobs referred to with the '%' notation,
so just typing '%1' with no command name would have worked, too.
Run Code Online (Sandbox Code Playgroud)
例子:
$> man zshall &
[1] + 31392 suspended (tty output) man zshall
$> jobs
[1] + suspended (tty output) man zshall
$> %
<manpage-opens-for-zshall>
Run Code Online (Sandbox Code Playgroud)
在此处阅读更多相关信息:http: //zsh.sourceforge.net/Guide/zshguide03.html#l39
回答你真正的问题:如果你的 zsh 没有在那里发出警告(“fg:没有当前的工作”或类似的),那么就有/曾经是一份工作。例子:
$> sleep 60 &
$> % echo foo
[1] + 411 running sleep 60
fg: job not found: echo
Run Code Online (Sandbox Code Playgroud)
在%
刚回到后台进程并运行它。60 秒后,它得到了下一个未找到的“jobid”。
因此:您所经历的行为有点奇怪。如果没有完整的 zshrc,很难判断到底发生了什么。似乎您已经设法告诉您的 zsh '%' 字符正在开始评论。我会检查 histchars
参数的第三个值:
$> echo $histchars
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10952 次 |
最近记录: |