Pipe zu Sudo -E Bash -


10

Ich frage mich , was ist der Zweck die heruntergeladene Datei von Rohrleitungen durch curlin sudo -E bash -der folgenden Shell:

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

Antworten:


10

Es ist eine kurze Möglichkeit, ein Skript auszuführen, ohne die Datei speichern und dann ausführen zu müssen. Wenn Sie die Datei speichern und dann ausführen, kann eine Reihe von Fehlern auftreten:

  • Der Benutzer hat den Dateinamen nicht richtig eingegeben
  • Benutzer hat nicht die richtige Shell verwendet (möglicherweise ausgeführt sh foo.shstatt bash foo.sh)
  • Der Benutzer hat versucht, die Datei auszuführen, anstatt bash darauf zu setzen ( ./foo.sh), und hat vergessen, die Ausführungsberechtigungen festzulegen
  • Benutzer hat vergessen zu verwenden sudo

Durch die Bereitstellung einer einzigen Befehlszeile zur Ausführung können die Entwickler die Anzahl der Stellen verringern, an denen aufgrund eines Benutzerfehlers Fehler auftreten können.

Persönlich verachte ich Piping Curl, um zu schlagen. Es ist nicht sicher.


7

Dieser Befehl lädt die Datei herunter und versucht, sie mit Root-Rechten auszuführen.


3
Vielen Dank, aber was ist die -EOption und -am Ende des Kommandos?
Mr.Y

5
@Youssef behält -EUmgebungsvariablen bei (z. B. Variablen für Proxy-Einstellungen) und -weist bash an, Befehle von der Standardeingabe, dh der Pipe, zu lesen.
Muru
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.