หากต้องการเรียกใช้สคริปต์ทั้งหมดในเวลาเดียวกัน (ขนาน) ให้ใช้:
script_1.sh &
script_2.sh &
script_3.sh &
script_4.sh &
script_5.sh &
หากต้องการเรียกใช้งานหลังจากการใช้งานแบบอื่น ๆ (เรียงตามลำดับ):
script_1.sh &&
script_2.sh &&
script_3.sh &&
script_4.sh &&
script_5.sh
การปรับปรุงสำหรับความคิดเห็น
หากคุณมี 200 สคริปต์ที่คุณต้องการเรียกใช้ในเวลาเดียวกัน (ซึ่งอาจทำให้เครื่อง BTW ล้มเหลว) ให้ใช้สคริปต์นี้:
#!/bin/bash
for Script in my_folder/*.sh ; do
echo bash "$Script" &
done
ตั้งค่าแอ็ตทริบิวต์สคริปต์ให้สามารถเรียกทำงานได้ด้วยคำสั่ง:
chmod a+x /path/to/script.sh
ครั้งแรกที่คุณเรียกใช้สคริปต์สคริปต์จะแสดงชื่อ 200 สคริปต์ที่กำลังเรียกใช้งานเท่านั้น เมื่อคุณมีความสุขชื่อที่เหมาะสมจะถูกเลือกแก้ไขสคริปต์และเปลี่ยนบรรทัดนี้:
echo bash "$Script" &
ถึง:
bash "$Script" &
มีสามวิธีในการเรียกสคริปต์ทุบตีจากอีกวิธีหนึ่งดังนี้:
ทำให้สคริปต์อื่นสามารถทำงานได้เพิ่ม#!/bin/bash
บรรทัดที่ด้านบนและพา ธ ที่ไฟล์อยู่ใน$PATH
ตัวแปรสภาพแวดล้อม จากนั้นคุณสามารถเรียกมันเป็นคำสั่งปกติ
หรือเรียกมันด้วยคำสั่ง source (นามแฝงคือ.) เช่นนี้: source /path/to/script
;
หรือใช้คำสั่ง bash เพื่อดำเนินการ: /bin/bash /path/to/script
;
ในกรณีของ OP หนึ่งหรือมากกว่าหนึ่งใน 200 สคริปต์ไม่ได้มี#!/bin/bash
บรรทัดแรกShebang ในไฟล์ เช่นตัวเลือก 3. จะต้องมีการใช้
200 สคริปต์ทำงานในเวลาเดียวกัน
มีการยกความคิดเห็นเกี่ยวกับว่า "กำลังทำงานในเวลาเดียวกัน" หรือไม่ ในระบบซีพียูทั่วไป 8 ตัว 25 สคริปท์จะแชร์ซีพียูหนึ่งตัวในเวลาเดียวกัน แต่จะมีสคริปท์เพียงหนึ่งตัวที่จะดำเนินการในแต่ละครั้งจนกว่าจะถึงเวลาแบ่ง (วัดเป็นมิลลิวินาที) จากนั้นงานต่อไปจะได้รับส่วนแบ่งอย่างยุติธรรมเป็นมิลลิวินาทีจากนั้นงานต่อไป ฯลฯ และอื่น ๆ
ในแง่หลวมเราสามารถพูดได้ว่า 200 งานกำลังทำงาน "พร้อมกัน" แต่ไม่ใช่ "พร้อมกัน" ใน 8 ซีพียูซึ่งเท่ากับ 25 งานต่อซีพียู:
ภาพด้านบนและความคิดเห็นด้านล่างจากตัวจัดกำหนดการเคอร์เนล Linux