The >
redirector menulis output perintah ini ( stdout
, tidak stderr
- Anda menggunakan 2>
untuk itu) untuk file yang ditentukan setelah. Jika sudah ada, file akan ditimpa.
Perilaku ini berguna untuk yang pertama dari perintah Anda: jika ada file yang sudah ada, itu harus dihapus dan diganti dengan yang baru.
Namun, karena Anda perlu menambahkan semua output lebih lanjut alih-alih mengganti yang sebelumnya, Anda perlu menggunakan pengarah-append >>
. Ini akan membuat file jika belum ada, tetapi menambahkan output diarahkan ke file, jika sudah ada.
Dan tolong jangan gunakan pipa |
untuk menulis banyak perintah dalam satu baris, yang akan mengarahkan output perintah pertama ( stdout
) ke input perintah kedua ( stdin
).
Anda bisa menggunakan titik koma ( ;
) untuk hanya memberitahu bash untuk mengeksekusi satu perintah setelah yang lain, seolah-olah itu adalah file skrip. Jika suatu perintah gagal (kode pengembalian bukan 0), perintah yang tersisa masih dijalankan.
Atau Anda dapat memilih operator logika AND ( &&
) atau OR ( ||
):
Jika Anda menggunakan &&
untuk menghubungkan dua perintah, yang kedua hanya akan dieksekusi, jika yang pertama berhasil (kode pengembalian adalah 0). Jika gagal, tidak satu pun dari perintah berikut ini akan berjalan.
The ||
namun hanya menjalankan perintah kedua jika yang pertama gagal (kode kembali tidak 0)!
Jadi dalam kasus Anda, saya akan merekomendasikan Anda untuk menggunakan titik koma:
md5sum firefox.tar.gz > sha.txt ; sha1sum firefox.tar.gz >> sha.txt ; sha512sum firefox.tar.gz >> sha.txt
{}
atau()
? Terima kasih.