bash
tampaknya tidak mengeluh jika Anda menjalankan perintah suka
$ < some-file-that-exists
Sepertinya tidak ada yang terjadi.
Anda juga bisa menggunakannya
$ <<<"any string"
dan bahkan memproses substitusi.
Jadi apa sebenarnya yang dilakukan, dan mengapa itu dibolehkan Apakah ini berguna untuk apa saja?
<
akan memberi Anda kesalahan (zsh: parse error near `\n'
) karena tidak ada argumen yang diberikan.bash
, tapi itu menarikless
.Jawaban:
<
mengatur pengalihan untuk perintah yang dapat terjadi sebelum atau sesudah instruksi pengalihan. Yaituberfungsi juga
Tetapi jika Anda tidak memberikan perintah, bash menyiapkan pengalihan dan tidak melakukan hal lain. Untuk pengalihan input, jumlah ini sama dengan apa yang Anda lihat, tidak ada, jika file ada dan dapat dibaca. Jika file tersebut tidak ada atau tidak dapat dibaca, bash akan menandakan kesalahan. Untuk pengalihan output, file output akan dibuat jika tidak ada. File output apa pun yang ada akan terpotong jika
>
digunakan; tidak ada pemotongan jika>>
digunakan.sumber
< file wc
vswc < file
?<membaca dari stdin secara default, atau file. ekspresi Anda tidak melakukan apa pun dengan input karena Anda tidak melakukan anyting setelah membaca.
Jika Anda melakukan <file-file-yang-ada> di filefile di akhir, maka Anda akan melihat bahwa Anda baru saja membaca konten file pertama dan menulisnya ke file kedua.
<<< di sini adalah format doc, jadi ini membaca dari string, bukan dari file. cat <<< "string apa saja" untuk melihat apa yang telah Anda baca.
sumber