Saya mengetiknya secara tidak sengaja tetapi bash tidak mencetak kesalahan (tetapi membuat file kosong) jadi saya pikir mungkin itu benar-benar berarti sesuatu? (misalnya tanggal |> tmp.txt)
bash
io-redirection
Bdimych2 Bdimych2
sumber
sumber
date |> tmp.txt cmd2
? Karena itu mengubah jawabannya.Jawaban:
Itu tampaknya hanya pipa di mana bagian kedua adalah perintah kosong, hanya berisi pengalihan. Menulisnya sebagai
date | >file
mungkin membuatnya lebih mudah untuk ditafsirkan. Perintah kosong tidak melakukan apa-apa selain memproses pengalihan, membuat file.date >| file
di sisi lain akan bertindak sebagai ganti untuknoclobber
opsi shell, yang mencegah biasa>
menimpa file yang ada.sumber
Ya, itu tidak akan membuang kesalahan karena untuk bash
> file
berarti mengarahkan ke file bernamafile
. Seperti dalam kasus Anda, tidak ada yang diarahkan ke file, bash hanya akan membuat nama filefile
tanpa apa pun di dalamnya.sumber
my_file
berisi output daridate
.zsh
, ketika hanya ada pengalihan dan tidak ada perintah,zsh
jalankan$NULLCMD
perintah (cat
secara default) atau$READNULLCMD
(pager secara default) jika hanya ada pengalihan input .