GNU/Linux >> Belajar Linux >  >> Linux

Apakah perintah dalam skrip bash berjalan secara paralel atau satu demi satu?

Seperti berdiri, mereka akan dijalankan satu demi satu, terlepas dari apakah mereka gagal atau tidak. Mereka hanya perlu keluar di beberapa titik, kemudian perintah selanjutnya dijalankan. Satu demi satu.

Jika Anda ingin mereka dieksekusi hanya jika perintah sebelumnya tidak keluar dengan kesalahan, gunakan:

python do_this_first.py && python do_this_second.py && python do_this_last.py

Di sini, kedua ampersand berfungsi seperti AND yang logis . Skrip kedua hanya akan berjalan ketika yang pertama keluar dengan bersih, dan yang ketiga hanya ketika yang kedua berjalan tanpa kesalahan. Jika ada kesalahan, tidak ada perintah berikut yang akan dijalankan.

Namun jika Anda ingin menjalankannya secara paralel, Anda dapat melakukannya — tetapi ada banyak opsi lain:

python do_this_first.py &
python do_this_second.py &
python do_this_last.py &

Pesta itu berurutan. Pada awalnya file do_this_first.py akan ditafsirkan. Setelah python selesai menjalankannya, kontrol dipindahkan ke bash lagi. Bash pada gilirannya akan mengeksekusi python do_this_second.py dan seterusnya..
Jadi intinya, do_this_first dimulai dan selesai, do_this_second dimulai dan diakhiri, lalu do_this_last dimulai dan diakhiri.


Seperti yang dikatakan slhck, berikut ini adalah salah satu opsi.

python do_this_first.py && python do_this_second.py && python do_this_last.py

Atau Anda dapat menyetel -e, yang akan segera keluar, jika sebuah baris mengembalikan kode kesalahan.

#!/bin/bash

# Exit immediately if a command exits with a non-zero status.
set -e

python do_this_first.py 
python do_this_second.py
python do_this_last.py

Bagi saya, yang terakhir ini lebih mudah dibaca.


Linux
  1. Jalankan skrip bash dari skrip lain tanpa menunggu skrip selesai dijalankan?

  2. Jalankan skrip bash sebagai daemon

  3. Izin ditolak dengan bash.sh untuk menjalankan cron

  1. Bagaimana menjalankan perintah bash Linux dalam skrip PERL?

  2. Bagaimana cara menjalankan skrip bash berulang kali setiap N detik?

  3. Cara membunuh skrip python dengan skrip bash

  1. Cara menjalankan skrip Python dari shell

  2. Menjalankan skrip shell secara paralel

  3. Jalankan file teks sebagai perintah di Bash