Ruby Version Manager (RVM) diinstal seperti ini:
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
Saya mengerti apa yang pertama <maksud (feed bash script to bash interpreter), saya bingung dengan <(...)
bagian mana. Jadi, apa yang dilakukan tanda kurung di sini dan tanda kurang dari Dalam kasus apa kita bisa menggunakan sintaks yang sama?
Saya mencoba menggali di internet, menemukan pertanyaan SO ini /programming/2188199/bash-double-or-single-bracket-parentheses-curly-braces dan pertanyaan ini di ubuntuforums: http: // ubuntuforums .org / showthread.php? p = 7803008 Tetapi masih tidak tahu mengapa kami menggunakan tanda kurung itu dan mengapa kami menggunakan pengalihan input dua kali.
bash < curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer
tidak sama?
Terima kasih.
bash <(curl -s ...)
Jawaban:
Ini proses substitusi . Ini memberi makan output dari perintah ke FIFO yang dapat dibaca dari seperti file normal.
sumber
Ini berarti "jalankan perintah di dalam tanda kurung, dan kembalikan nama file yang mewakili output standar dari perintah itu di sini".
Jadi, itu diterjemahkan menjadi dua perintah:
... di mana "sesuatu" adalah keajaiban. (Biasanya,
/dev/fd/...
atau pipa.)sumber