make 2>&1

Jun 07, 2016 pm 03:25 PM
amp background make post this

Background of this post: Recently, I always noticed that many guys can't distinguish the meaning among stdin, stdout, and stderr, especially, they always ask the same question as: what does 21 exactly mean? So, here I want to give a summar

Background of this post:

Recently, I always noticed that many guys can't distinguish the meaning among stdin, stdout, and stderr, especially, they always ask the same question as: what does "2>&1" exactly mean?

So, here I want to give a summary of this three things, and of course, I'd like to take this "2>&1" as an example.

-----------------------
Interpretation:

First of all, I want to give out the exact meaning of "2>&1":

2>&1:

0 is stdin. 1 is stdout. 2 is stderr
-------------
There's one way to remember this construct (maybe it is not entirely accurate):
-------------
First of all, 2>1 looks like a very good way to redirect stderr to stdout. but remember, it has a very harmful disadvantage: it may actually be interpreted as "redirect stderr to a file named 1".
-------------
& indicates that what follows is a file descriptor and not a filename. So the construct becomes: 2>&1.
-------------
>& is shell syntax for "fold a file descriptor into another", you can also interprete it as "it is the syntax to redirect a stream to another file descriptor"

So, now, have you got the meaning of what does "2>&1" exact mean? I think you do!

Yes, it's very easy to understand, but what's more, I want to go little deep into this topic.

-----------------------
Furthermore:

Following picture gives a very clear defination of what is stdin stdout and stderr:

#  In Linux everything is a file.
# Your hardware is also a file:
* 0 - Input - Keyboard (stdin)
* 1 - Output - Screen (stdout)
* 2 - Error - Screen (stderr)

make 2>&1# For standard output:

make 2>&1Clear enough?

If you still feel confused about this, you can view this page to find more infomation:
http://tldp.org/LDP/abs/html/io-redirection.html

-----------------------
Example:

Finally, I want to give you a example to end this entry(Try to understand it ^_^):

The output of a.out is the following, without the 'STDXXX: ' prefix.

STDERR: stderr output<br> STDOUT: more regular

./a.out 3>&1 1>&2 2>&3 3>&- | sed 's/e/E/g'<br> more regular<br> stderr output

  1. First save stdout as &3 (&1 is duped into 3).
  2. Next send stdout to stderr (&2 is duped into 1).
  3. Send stderr to &3 (stdout) (&3 is duped into 2).
  4. close &3 (&- is duped into 3)

-----------------------
Others:

If you want to know what's the difference between "cmd >file 2>&1" and "cmd >file 2>file", pls refer this post which written by r2007:
http://bbs.chinaunix.net/thread-764727-1-1.html

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan CSS untuk mencapai kesan animasi latar belakang elemen yang berputar Cara menggunakan CSS untuk mencapai kesan animasi latar belakang elemen yang berputar Nov 21, 2023 am 09:05 AM

Cara menggunakan CSS untuk melaksanakan kesan animasi imej latar belakang yang berputar bagi elemen kesan animasi imej latar belakang boleh meningkatkan daya tarikan visual dan pengalaman pengguna halaman web. Artikel ini akan memperkenalkan cara menggunakan CSS untuk mencapai kesan animasi latar belakang elemen yang berputar dan memberikan contoh kod khusus. Pertama, kita perlu menyediakan imej latar belakang, yang boleh berupa gambar yang anda suka, seperti gambar matahari atau kipas elektrik. Simpan imej dan namakannya "bg.png". Seterusnya, buat fail HTML dan tambahkan elemen div dalam fail, tetapkan kepada

Apakah arahan linux make? Apakah arahan linux make? Mar 25, 2023 am 09:14 AM

Perintah linux make ialah salah satu arahan yang paling kerap digunakan oleh pentadbir sistem dan pengaturcara Ia juga merujuk kepada "pengurus kompilasi automatik", di mana "automatik" bermakna ia boleh menemui fail yang lebih baharu secara automatik berdasarkan cap masa fail dan mengurangkan beban kerja, pada. pada masa yang sama, dia boleh melakukan sejumlah besar kerja kompilasi dengan membaca kandungan fail makefile.

Analisis ringkas kaedah POST dalam PHP dengan parameter untuk melompat ke halaman Analisis ringkas kaedah POST dalam PHP dengan parameter untuk melompat ke halaman Mar 23, 2023 am 09:15 AM

Untuk pembangun PHP, menggunakan POST untuk melompat ke halaman dengan parameter adalah kemahiran asas. POST ialah kaedah menghantar data dalam HTTP Ia boleh menghantar data ke pelayan melalui permintaan HTTP Lompat halaman memproses dan melompat halaman pada bahagian pelayan. Dalam pembangunan sebenar, kita sering perlu menggunakan POST dengan parameter untuk melompat ke halaman untuk mencapai tujuan fungsi tertentu.

Bagaimana untuk menentukan sama ada siaran telah dihantar dalam PHP Bagaimana untuk menentukan sama ada siaran telah dihantar dalam PHP Mar 21, 2023 pm 07:12 PM

PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas yang boleh digunakan untuk mencipta aplikasi web yang interaktif dan dinamik. Apabila membangunkan aplikasi PHP, kami biasanya perlu menyerahkan data input pengguna ke pelayan untuk diproses melalui borang. Walau bagaimanapun, kadangkala kita perlu menentukan sama ada data borang telah diserahkan dalam PHP Artikel ini akan memperkenalkan cara membuat penentuan sedemikian.

Cara menggunakan pos permintaan python Cara menggunakan pos permintaan python Apr 29, 2023 pm 04:52 PM

Python mensimulasikan penyemak imbas menghantar permintaan kiriman importrequests format request.postrequest.post(url,data,json,kwargs)#post request format request.get(url,params,kwargs)#Berbanding dengan permintaan get, menghantar parameter permintaan pos dibahagikan kepada parameter data forms ( x-www-form-urlencoded) json (application/json) menyokong format kamus dan format rentetan Format kamus menggunakan kaedah json.dumps() untuk menukar data kepada rentetan format json yang sah

Bagaimanakah java memulakan permintaan http dan memanggil siaran dan mendapatkan antara muka? Bagaimanakah java memulakan permintaan http dan memanggil siaran dan mendapatkan antara muka? May 16, 2023 pm 07:53 PM

1. Java calls post interface 1. Gunakan URLConnection atau HttpURLConnection yang disertakan dengan java Tidak perlu memuat turun pakej jar lain Jika kod respons antara muka diubah oleh pelayan, mesej kembali tidak boleh diterima hanya diterima apabila kod respons adalah betul untuk mengembalikan publicstaticStringsendPost(Stringurl,Stringparam){OutputStreamWriterout=null;BufferedReaderin=null;StringBuilderresult=newSt.

Bagaimana untuk menyelesaikan masalah bahawa proksi terbalik NGINX mengembalikan 405 untuk permintaan POST halaman HTML Bagaimana untuk menyelesaikan masalah bahawa proksi terbalik NGINX mengembalikan 405 untuk permintaan POST halaman HTML May 22, 2023 pm 07:49 PM

实现如下:pelayan{listen80;listen443ssl;server_namenirvana.test-a.gogen;ssl_certificate/etc/nginx/ssl/nirvana.test-a.gogen.crt;ssl_certificate_key/etc/nginx.s.gentestl .key;proxy_connect_timeout600;proxy_read_timeout600;proxy_send_timeout600;c

Cara menggunakan arahan make di bawah linux Cara menggunakan arahan make di bawah linux May 15, 2023 pm 12:37 PM

Cara membuat kerja Bagi mereka yang tidak mengetahui mekanik di belakangnya, arahan make menerima sasaran seperti hujah baris arahan. Sasaran ini biasanya disimpan dalam fail khas bernama "makefiles", dan fail tersebut juga mengandungi operasi yang sepadan dengan sasaran. Untuk mendapatkan maklumat lanjut, baca siri artikel ini tentang cara makefiles berfungsi. Apabila arahan make dilaksanakan buat kali pertama, ia mengimbas fail make untuk mencari sasaran dan kebergantungannya. Jika kebergantungan ini adalah sasaran mereka sendiri, teruskan mengimbas fail make untuk kebergantungan ini untuk mewujudkan kebergantungan mereka, dan kemudian menyusunnya. Sebaik sahaja kebergantungan utama disusun, maka sasaran utama disusun (yang dihantar melalui arahan buat). Sekarang, dengan mengandaikan anda membuat perubahan pada fail sumber, anda

See all articles