GNU/Linux >> Belajar Linux >  >> Linux

'&&' vs. '&' dengan perintah 'test' di Bash

& mengeksekusi perintah di latar belakang, dan akan mengembalikan 0 terlepas dari statusnya.

Dari halaman manual:

Jika perintah diakhiri oleh operator kontrol &, shell mengeksekusi perintah di latar belakang dalam sebuah subkulit. Shell tidak menunggu perintah selesai, dan status pengembalian adalah 0. Perintah dipisahkan oleh; dieksekusi secara berurutan; shell menunggu setiap perintah untuk diakhiri secara bergantian. Status pengembalian adalah status keluar dari perintah terakhir yang dijalankan.


Lihat apa perintah Anda:

test -x examples.desktop  && echo $?

Ini berarti periksa untuk melihat apakah examples.desktop dapat dieksekusi dan jika dijalankan maka jalankan echo $? .

test -x examples.desktop  & echo $?

berarti periksa untuk melihat apakah examples.desktop dapat dieksekusi di "latar belakang". Kemudian jalankan echo $? .


Arti dari && dan & secara intrinsik berbeda.

  • Apa itu && di Bash? Di Bash—dan banyak bahasa pemrograman lainnya—&& artinya “DAN”. Dan dalam konteks eksekusi perintah seperti ini, itu berarti item di kiri dan kanan && harus dijalankan secara berurutan dalam hal ini.
  • Apa itu & di Bash? Dan satu & berarti bahwa perintah sebelumnya—ke kiri langsung dari & —harus dijalankan di latar belakang.

Jadi, lihat contoh Anda:

[email protected]:~$ test -x examples.desktop  && echo $?
[email protected]:~$ test -x examples.desktop  & echo $?
[1] 2992
0

Perintah pertama — seperti yang terstruktur — sebenarnya tidak mengembalikan apa pun. Tapi perintah kedua mengembalikan [1] 2992 di mana 2992 mengacu pada ID proses (PID) yang berjalan di latar belakang dan 0 adalah keluaran dari perintah pertama.

Karena perintah kedua hanya menjalankan test -x examples.desktop di latar belakang ini terjadi cukup cepat, sehingga ID proses muncul dan segera hilang.


Linux
  1. Perintah Nohup dengan Contoh

  2. Perintah JQ di Linux dengan Contoh

  3. Tutorial Bash Array Terbaik dengan 15 Contoh

  1. Perintah Bash wait dengan Contoh

  2. Perintah wc Linux dengan Contoh

  3. Tutorial Bash HereDoc Dengan Contoh

  1. Cara Menggunakan Perintah sleep Linux dengan Contoh

  2. Cara Menggunakan Perintah who di Linux dengan Contoh

  3. Perintah ip Linux dengan Contoh