make 2>&1
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)
#
For standard output:
Clear
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
- First save stdout as &3 (&1 is duped into 3).
- Next send stdout to stderr (&2 is duped into 1).
- Send stderr to &3 (stdout) (&3 is duped into 2).
- 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

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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

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.

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.

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.

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

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.

实现如下: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 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
