pipa ke sudo -E bash -

10

Saya bertanya-tanya apa tujuan memipipkan file yang diunduh curlke sudo -E bash -dalam shell berikut:

curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -

Mr.Y
sumber

Jawaban:

10

Ini adalah cara singkat untuk mengeksekusi skrip tanpa harus menyimpan file dan kemudian menjalankannya. Ketika Anda menyimpan file dan kemudian menjalankannya, sejumlah hal bisa salah:

  • Pengguna tidak mengetik nama file dengan benar
  • Pengguna tidak menggunakan shell yang benar (mungkin sh foo.shmalah berlari bash foo.sh)
  • Pengguna mencoba mengeksekusi file alih-alih mengatur bash di atasnya ( ./foo.sh), dan lupa untuk mengatur izin eksekusi
  • Pengguna lupa menggunakan sudo

Dengan menyediakan satu baris perintah untuk dieksekusi, pengembang dapat mengurangi jumlah tempat di mana terjadi kesalahan karena kesalahan luser.

Secara pribadi, saya benci pipa curl untuk bash. Itu tidak aman.

muru
sumber
7

Perintah ini akan mengunduh file dan mencoba untuk mengeksekusinya dengan hak akses root.

Barafu Albino
sumber
3
Terima kasih, tetapi apa -Epilihan pilihan dan -di akhir perintah?
Tn. Y
5
@Youssef -Emempertahankan variabel lingkungan (katakan variabel untuk pengaturan proxy) dan -memberitahu bash untuk membaca perintah dari input standar, yaitu pipa.
muru