pipe to sudo -E bash -


10

Mi chiedevo che cosa è lo scopo della tubazione del file scaricato curlin sudo -E bash -nel seguente shell:

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

Risposte:


10

È un modo breve di eseguire uno script senza dover salvare il file e quindi eseguirlo. Quando si salva il file e lo si esegue, alcune cose possono andare storte:

  • L'utente non ha digitato correttamente il nome file
  • L'utente non ha utilizzato la shell corretta (forse eseguito sh foo.shinvece di bash foo.sh)
  • L'utente ha tentato di eseguire il file invece di impostare bash su di esso ( ./foo.sh) e ha dimenticato di impostare i permessi di esecuzione
  • L'utente ha dimenticato di utilizzare sudo

Fornendo un'unica riga di comando da eseguire, gli sviluppatori possono ridurre il numero di punti in cui le cose possono andare storte a causa di un errore dell'utente.

Personalmente, disprezzo il ricciolo delle tubature per colpire. Non è sicuro.


7

Questo comando scarica il file e tenta di eseguirlo con i privilegi di root.


3
Grazie, ma qual è l'allievo -Edell'opzione e -alla fine del comando?
Mr.Y

5
@Youssef -Econserva le variabili di ambiente (diciamo variabili per le impostazioni proxy) e -dice a bash di leggere i comandi dall'input standard, cioè la pipe.
Muru,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.