Saya tidak begitu mengerti bagaimana komputer membaca perintah ini.
cat file1 file2 1> file.txt 2>&1
Jika saya mengerti, 2>&1
cukup arahkan Kesalahan Standar ke Output Standar.
Dengan logika itu, perintahnya berbunyi sebagai berikut:
-
menggabungkan file
file1
danfile2
. -
kirim
stdout
dari operasi ini kefile.txt
. -
kirim
stderr
kestdout
. -
berakhir?
Saya tidak yakin apa yang dilakukan komputer. Menurut logika saya, perintahnya seharusnya
cat file1 file2 2>&1 > file.txt
tapi ini tidak benar.
Jawaban yang Diterima:
Saya merasa lebih mudah untuk memikirkan penggunaan tugas.
>
seperti=
&
seperti$
Anda memulai dengan
1 = /dev/tty
2 = /dev/tty
lalu contoh pertama Anda, 1> file.txt 2>&1
, apakah
1 = file.txt
2 = $1 # and currently $1 = file.txt
meninggalkanmu dengan
1 = file.txt
2 = file.txt
Jika Anda melakukannya dengan cara lain, sekali lagi Anda mulai dengan
1 = /dev/tty
2 = /dev/tty
lalu 2>&1 > file.txt
tidak
2 = $1 # and currently $1 = /dev/tty
1 = file.txt
jadi hasil akhirnya adalah
1 = file.txt
2 = /dev/tty
dan Anda hanya mengalihkan stdout
, bukan stderr
.