2012-05-02 6 views
7

Ich möchte ein Bash-Skript machen, die wget zu benutzen hat und dessen Ausgang mit bash wie folgt ausführen:wget-Datei und senden Sie es an bash

wget -q -O - http://pastebin.com/raw.php?i=VURksJnn | bash 

Die Pastebin-Datei ist ein Testskript, aber diese Befehle zeigt Ich: "Unbekannter Befehl" (vielleicht wegen neuer Zeilen) und "Unerwartetes Dateiende", und ich weiß nicht warum.

Fehle ich etwas?

Antwort

5

Ihr Skript hat DOS-Zeilenenden.

Wenn Sie die Zeilenenden auf Unix-Zeilenenden zu konvertieren, es läuft gut:

$ tr -d '\r' <raw.php\?i\=VURksJnn> script 
$ cat script | bash 
Test script 
You're not root 
End test 
$ 
+2

Sarnold ist richtig. 'wget -q -O -" http://pastebin.com/raw.php?i=VURksJnn "| dos2unix | Bash' funktioniert gut für mich. Ausgänge ' Testskript Sie sind nicht root Ende Test ' – dpp

+1

Sie können es immer noch in einem gehen: 'curl http://script.foo | tr -d '\ r' | bash' (oder 'wget .. -O-') – c00kiemon5ter

+2

Ja, aber ich werde nicht etwas von jemand anderem ausführen, ohne es vorher zu lesen. Daher meine zusätzlichen Schritte. :) – sarnold

-1

Zu Beginn können Sie heruntergeladen zu speichern, wgeted, lokal Datei und starten Sie als bash Dateiname. Coz das folgende funktioniert für mich cat - | Bash

+0

Danke, aber die Frage war, das Skript zu pumpen, auch wenn es nicht explizit erwähnt wird. – Max13

Verwandte Themen