สมมติว่าฉันมีสาม (หรือมากกว่า) สคริปต์ทุบตี: script1.sh
, และscript2.sh
script3.sh
ผมอยากจะเรียกทั้งสามของสคริปต์เหล่านี้และเรียกพวกเขาในแบบคู่ขนาน วิธีหนึ่งในการทำเช่นนี้คือเพียงเรียกใช้คำสั่งต่อไปนี้
nohup bash script1.sh &
nohup bash script2.sh &
nohup bash script3.sh &
(โดยทั่วไปสคริปต์อาจใช้เวลาหลายชั่วโมงหรือหลายวันจึงจะเสร็จสิ้นดังนั้นฉันต้องการใช้nohup
เพื่อให้สคริปต์ทำงานต่อไปแม้ว่าคอนโซลของฉันจะปิด)
แต่มีวิธีใดบ้างที่จะดำเนินการคำสั่งทั้งสามนี้ควบคู่กับการโทรครั้งเดียว ?
ฉันกำลังคิดอะไรบางอย่างเช่น
nohup bash script{1..3}.sh &
แต่นี้จะปรากฏในการดำเนินการscript1.sh
, script2.sh
และscript3.sh
ในลำดับที่ไม่ได้อยู่ในแบบคู่ขนาน
nohup bash script{1..100}.sh &
หรือfor i in {1..100}; do nohup bash script{1..100} &; done
) แทนที่จะพิมพ์nohup bash script*.sh &
100 ครั้งที่แตกต่างกัน
screen
ได้เช่นกัน (หรือtmux
) เพื่อแก้ปัญหาคอนโซล แต่ให้เข้าถึงเอาต์พุต (และอินพุต)
nohup ... & nohup ... & nohup ... &
. หากคุณหมายถึงว่าคุณต้องการเรียกใช้สคริปต์ทั้งหมดโดยไม่ต้องพิมพ์ชื่อสคริปต์แต่ละชื่อการวนซ้ำอย่างง่ายจะทำ