Saya sedang bereksperimen hari ini dengan beberapa operasi tambahan dan, dalam keingintahuan saya, menjalankan ini (di mana file1.txt tidak kosong dan file2.txt kosong):
$ cat file1.txt >> file2.txt >> file1.txt
Ketika saya melihatnya butuh beberapa saat, saya menekan Ctrl+ Cuntuk mengakhirinya. Pada saat itu, file1.txt berukuran ratusan MB.
Berpindah nama file tidak menghasilkan efek yang sama; hanya ketika file berada dalam urutan ini apakah pengalihan tidak terbatas terjadi. Apa yang sebenarnya terjadi yang menyebabkan ini?
sumber
Saya tidak dapat mereproduksi ini dalam shell Bash:
1 file dibuat dengan panjang 0 tetapi kemudian saya mendapatkan pesan di atas:
Berdasarkan jawaban @ jlliagre, saya tidak yakin mengapa saya mendapatkan 2 file. Mungkin tergantung pada
cat
implementasinya.EDIT # 1
@jlliagre memperbarui jawabannya untuk menunjukkan kode ini yang ia nyatakan setara:
Jadi sekarang saya tahu mengapa saya mendapatkan yang kosong
file2.txt
. Notasi ini legal:Dan akan membuat file kosong.
sumber
file1.txt
memulai non-kosong.cat
perilaku dengan lebih baik.