Pertanyaan ini sudah memiliki jawaban di sini :Apakah operator redirection selalu membuka deskriptor file secara paralel?
(2 jawaban)
Tutup 6 tahun yang lalu.
Linux
(2 jawaban)
Tutup 6 tahun yang lalu.
-
Pengalihan tidak diperbolehkan di sini. Apakah
cattidak mengizinkan? Tetapi bukankah
redirection tidak bergantung pada perintah apa pun yang dijalankan dengannya?$ cat bk > bk cat: bk: input file is output file -
Mengapa pengalihan berikut mengosongkan file:
$ less bk > bkawkjuga bekerja dengan cara yang sama sepertilessdalam hal pengalihan.awkadalah yang sebenarnya saya temukan masalahnya, sedangkan contoh di atas tidak ada artinya
Secara umum, bagaimana cara yang tepat untuk menggunakan redirect?
Jawaban yang Diterima:
Masalahnya adalah bahwa pengalihan output mematikan file sebelum less bahkan dimulai:
open("file", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
dup2(3, 1) = 1
close(3) = 0
execve("/usr/bin/less", ["less", "-WNS", "file"], [/* 102 vars */]) = 0
Pengalihan output normal menimpa file. O_TRUNC (lihat man 2 open ) menghapus konten file.
Linux – Tidak Dapat Mem-boot Vm:Kesalahan 13:Format Eksekusi Tidak Valid Atau Tidak Didukung?
Mengapa Unix-heads Mengatakan "minus"??