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
file1danfile2. -
kirim
stdoutdari operasi ini kefile.txt. -
kirim
stderrkestdout. -
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 .