ฉัน "ได้รับมรดก" เชลล์สคริปต์บางตัวสำหรับเครื่อง Linux ที่ใช้เชลล์ "bash" ของ GNU ในกรณีเฉพาะกรณีหนึ่งเครื่องจะรัน GNU bash รุ่น 2.0.5b
หนึ่งในสคริปต์เหล่านั้นมีคำสั่งwait &
("wait ampersand") ซึ่งเป็นส่วนหนึ่งของ "for line" ของfor
ลูป ตั้งแต่แรกพบดูเหมือนว่าจะเป็นสำนวนที่น่าสนใจ / น่าสนใจ แต่เว็บของฉันค้นหาไม่ได้ส่งคืนสิ่งใดที่เกี่ยวข้อง man wait
แสดง manpage "BASH_BUILTINS" ("BASH BUILTINS COMMAND") ซึ่งมีคำอธิบายดังต่อไปนี้:
wait [n]
Wait for the specified process and return its termination status.
n may be a process ID or a job specification; if a job spec is given,
all processes in that job's pipeline are waited for. If n is not
given, all currently active child processes are waited for, and the
return status is zero. If n specifies a non-existent process or job,
the return status is 127. Otherwise, the return status is the exit
status of the last process or job waited for.
โดยการอ่านส่วนหนึ่งของ manpage นี้ดูเหมือนว่าฉันwait &
จะเงียบ (ในพื้นหลัง) ทำให้แน่ใจว่า " กระบวนการลูกที่ใช้งานอยู่ในปัจจุบันทั้งหมดกำลังรอและสถานะการส่งคืนเป็นศูนย์ " ฉันถูกต้องในการตีความนี้หรือไม่? นี่เป็นสำนวนทั่วไปและ / หรือมีประโยชน์หรือไม่
สำหรับบริบทเพิ่มเติมฉันกำลังพูดถึงการใช้งานประเภทต่อไปนี้ในสคริปต์:
for file in `ls *.txt ; wait &`
do
...
[cp instructions]
...
[mv instructions]
...
[mailx instruction]
done