%
อ้างถึง '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.
ตัวอย่าง:
$> man zshall &
[1] + 31392 suspended (tty output) man zshall
$> jobs
[1] + suspended (tty output) man zshall
$> %
<manpage-opens-for-zshall>
อ่านเพิ่มเติมได้ที่นี่: http://zsh.sourceforge.net/Guide/zshguide03.html#l39
หากต้องการตอบคำถามจริงของคุณ: หาก zsh ของคุณไม่ได้แจ้งเตือนที่นั่น ("fg: ไม่มีงานปัจจุบัน" หรือสิ่งที่คล้ายกัน) แสดงว่ามีงาน / เป็นงาน ตัวอย่าง:
$> sleep 60 &
$> % echo foo
[1] + 411 running sleep 60
fg: job not found: echo
%
เพิ่งกลับกระบวนการพื้นหลังและวิ่งมัน หลังจาก 60 วินาทีมันจะได้รับ 'jobid' ครั้งต่อไปซึ่งไม่พบ
ดังนั้น: พฤติกรรมที่คุณพบนั้นค่อนข้างแปลก หากคุณไม่ได้ zshrc แบบเต็มคุณก็ยากที่จะบอกได้ว่าเกิดอะไรขึ้น ดูเหมือนว่าคุณจัดการเพื่อบอก zsh ของคุณว่าถ่าน '%' กำลังเริ่มแสดงความคิดเห็น ฉันจะตรวจสอบ histchars
พารามิเตอร์ว่าเป็นค่าที่ 3:
$> echo $histchars
%
ฉันก็สามารถที่จะทำซ้ำการทดสอบของคุณและเบื้องหน้างานที่ทำงานด้วย จับได้ดี$histchars
เช่นกัน แต่ของฉันเป็นสัญญาณแฮช (!^#
) ฉันคาดเดาคำตอบสำหรับกรณีเฉพาะของฉันแล้วก็คือว่ามีกระบวนการพื้นหลังบางอย่างมีพฤติกรรมแปลกใน zsh ขอบคุณอีกครั้งสำหรับบทเรียนเชลล์!