Bash: Perbedaan antara> dan >> operator? [Tutup]

38

Saya pemula dan tidak tahu banyak tentang bash.my instruktur meminta saya untuk melakukan script cat dan mengamati output dan kemudian memberitahu Apa> operator dan apa perbedaan antara operator> & >>? dan saya tidak dapat menemukan justifikasi. jadi, tolong tolong :)

jumbo18
sumber
Anda bisa mengutak-atik file sementara untuk mendapatkan perbedaan antara >> dan>.
Halp

Jawaban:

61

Tanda ">" digunakan untuk mengarahkan kembali keluaran suatu program ke sesuatu selain stdout (keluaran standar, yang merupakan terminal secara default).

>> menambahkan ke file atau membuat file jika tidak ada.
> Menimpa file jika ada atau membuatnya jika tidak ada.

Dalam kedua kasus, output dari program disimpan dalam file yang namanya disediakan setelah operator pengalihan.

Contoh:
$ ls > allmyfiles.txt membuat file "allmyfiles.txt" dan mengisinya dengan daftar direktori dari perintah ls

$ echo "End of directory listing" >> allmyfiles.txt menambahkan "Akhir daftar direktori" ke akhir file "allmyfiles.txt"

$ > newzerobytefile membuat file nol byte baru dengan nama "newzerobytefile" atau menimpa file yang ada dengan nama yang sama (membuatnya berukuran nol byte)

andyhky
sumber
3
Lebih lanjut IO pengalihan kedahsyatan: tldp.org/LDP/abs/html/io-redirection.html
Tim Bielawa
0

=> th> penggunaan operator untuk menimpa file jika ada selain itu akan membuat file baru EX cat> example1 => Jika file 'example1' ada daripada akan menulis lagi buat file baru => >> operator gunakan untuk menambahkan akhir file EX cat >> example1

Godani Bhavesh
sumber
4
Itu persis informasi yang sama dengan andyh_ky diposting sebelumnya. Tidak ada gunanya mengulangi jawaban sebelumnya. Juga tidak ada gunanya menambahkan komentar yang tidak berarti.
John Gardeniers
-4

Tidak dapat menemukan halaman manual bash ? Ketik man bash di command prompt.

adamo
sumber
Anda dapat mencoba dan menambahkan konten bermanfaat ke komentar Anda. Mereka memang hanya memiliki posting blog yang berbicara tentang gaya RTFM jawaban blog.serverfault.com/post/1306724710/rtfm Mungkin Anda bisa menyebutkan bahwa operator> dan >> digunakan untuk pengalihan IO tldp.org/LDP/abs/html/io -redirection.html Demikian juga <digunakan untuk membaca file ke stdin.
Tim Bielawa
Saya setuju dengan @Tim. Saya mendukung metode belajar "mengajari manusia untuk menangkap ikan". Dalam hal ini, meskipun, dan terutama untuk pemula, ada nol indikasi bahwa pengalih output ditangani oleh shell pengguna.
EEAA
-1 karena bash manpage adalah salah satu yang paling sulit untuk diikuti yang harus saya tangani secara teratur.
Sparr
Oh ayolah! Ini bukan RTFM! Anda dapat pergi ke halaman manual bash (dan saya memberikan tautannya) tekan ctrl-F dan ketik >> Hal pertama yang ditampilkan adalah penggunaan >> Plus, pertanyaan ini adalah pekerjaan rumah: Apakah kita menjawab pekerjaan rumah (apakah itu menjawab pekerjaan rumah (itu adalah dijawab oleh andyh_ky) atau kita menunjukkan di mana jawabannya?
adamo
Bagaimana mengatakan kepadanya untuk mencari "halaman manual bash" bukan kasus Read The F ****** Manual? Bahkan ada kata manual di dalamnya!
Sam Cogan