Saya melihat dua penggunaan ini di Ubuntu "command && command" dan "command; command",
misapt-get update && apt-get upgrade
Apa yang akan berbeda jika saya gunakan apt-get update; apt-get upgrade
?
Saya tidak meminta penggunaan khusus ini tetapi secara umum apa perbedaan antara kedua penggunaan ini?
& (simple sequencing), && (conditional AND) and || (conditional OR)
.||
juga.Jawaban:
&&
adalah operator yang logis.;
adalah urutan sederhana.Dalam
cmd1 && cmd2
, cmd2 hanya akan dijalankan jika cmd1 keluar dengan kode pengembalian yang berhasil.Sedangkan dalam
cmd1; cmd2
, cmd2 akan berjalan terlepas dari status keluar cmd1 (dengan asumsi Anda belum menyetel shell Anda untuk keluar pada semua kegagalan dalam skrip Anda atau sesuatu).Pada catatan terkait, dengan
cmd1 || cmd2
, menggunakan||
operator logika 'OR', cmd2 hanya akan berjalan jika cmd1 gagal (mengembalikan kode keluar yang tidak nol).Operator logis ini terkadang digunakan dalam skrip sebagai pengganti pernyataan if dasar. Sebagai contoh,
... dapat dicapai secara lebih ringkas dengan:
sumber
Sintaksis
command2 dijalankan jika, dan hanya jika,
command1
mengembalikan status keluar dari nol ( benar ). Dengan kata lain, jalankancommand1
dan jika berhasil, maka jalankancommand2
.Baik command1 dan command2 akan dieksekusi terlepas Tanda titik koma memungkinkan Anda mengetik banyak perintah pada satu baris.
Terkait :
command2 dijalankan jika, dan hanya jika, command1 mengembalikan status keluar yang tidak nol. Dengan kata lain, jalankan dengan
command1
sukses atau jalankancommand2
.Contoh
&&
operator:;
operator:||
operator:Tautan Eksternal
sumber