Dalam tutorial dan caranya, saya sering melihat perintah digabungkan. Misalnya,
sudo apt-get update && sudo apt-get install pyrenamer
Tampaknya ada empat konektor mungkin: &
, &&
, ||
dan ;
. Meskipun &
konektornya jelas bagi saya (mengirimkan proses ke latar belakang dan membiarkan terminal tersedia), tidak jelas apa perbedaan antara &&
dan ;
. Dan saya tidak tahu ||
sampai komentar Kaya.
Pertanyaan-pertanyaan berikut berhubungan dengan perbedaan antara kedua konektor, tetapi sebagian besar melakukannya di komentar:
Jadi, inilah sejumlah pertanyaan terkait:
- Apa perbedaan antara
;
dan&&
? - Kapan Anda harus menggunakannya masing - masing? Akan menyenangkan untuk melihat beberapa use case: jika saya ingin menjalankan perintah dan kemudian setelah itu mematikan komputer saya, konektor mana yang harus saya pilih?
- Apa keuntungan dan bahayanya ? Robie Basak menyebutkan dalam komentar untuk jawaban ini bahwa perintah seperti
cd /somewhere_else; rm -Rf *
dapat memiliki konsekuensi yang merusak jika elemen pertama dalam rantai perintah gagal, misalnya. - Jika relevan, dari mana asalnya?
set -e
akan menghentikan skrip pada kegagalan seolah-olah semua perintah terhubung dengan &&
.
||
sama dengan&&
kecuali bahwa ia hanya menjalankan perintah kedua jika yang pertama keluar dengan status bukan-nol (tidak berhasil).