%
đề cập đến một 'jobid', được sử dụng như một phần của tính năng "kiểm soát công việc và kiểm soát quy trình" của zsh. Để trích dẫn từ hướng dẫn sử dụng:
'fg' is the default operation on jobs referred to with the '%' notation,
so just typing '%1' with no command name would have worked, too.
Thí dụ:
$> man zshall &
[1] + 31392 suspended (tty output) man zshall
$> jobs
[1] + suspended (tty output) man zshall
$> %
<manpage-opens-for-zshall>
Đọc thêm về nó ở đây: http://zsh.sourceforge.net/Guide/zshguide03.html#l39
Để trả lời câu hỏi thực sự của bạn : Nếu zsh của bạn không đưa ra cảnh báo ở đó ("fg: không có công việc hiện tại" hoặc tương tự) thì IS / WAS là một công việc. Thí dụ:
$> sleep 60 &
$> % echo foo
[1] + 411 running sleep 60
fg: job not found: echo
Chỉ %
cần lấy lại quá trình nền và chạy nó. Sau 60 giây, nó đã nhận được "công việc" tiếp theo không tìm thấy.
Do đó: Hành vi bạn trải qua là một chút kỳ lạ. Không có zshrc đầy đủ của bạn, thật khó để biết chính xác điều gì đang xảy ra. Có vẻ như bạn đã quản lý để nói với zsh của mình rằng char '%' đang bắt đầu nhận xét. Tôi sẽ kiểm tra histchars
tham số cho giá trị thứ 3 của nó:
$> echo $histchars
%
. Bắt tốt$histchars
quá, nhưng của tôi là một dấu băm (!^#
). Tôi đoán câu trả lời cho trường hợp cụ thể của tôi là có một số quy trình nền hoạt động kỳ lạ trong zsh. Cảm ơn một lần nữa cho bài học vỏ!