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.