2012-05-02 13 views
7

Chcę, aby skrypt bash, który musi użyć wget i uruchomić swoje wyjście z bash tak:wget plik i wysłać go do bash

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

Plik pastebin to skrypt test, ale ten nakazuje pokazy me: "Nieznane polecenie" (być może z powodu nowych linii) i "Niespodziewany koniec pliku" i nie wiem dlaczego.

Czy brakuje mi czegoś?

Odpowiedz

5

Twój skrypt ma zakończenia linii DOS.

Jeśli konwersji zakończeń linii do zakończeń linii Unix, to działa dobrze:

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

sarnold ma rację. 'wget -q -O -" http://pastebin.com/raw.php?i=VURksJnn "| dos2unix | bash' działa dobrze dla mnie. Wyjścia ' Skrypt testowy Nie jesteś root Koniec testu ' – dpp

+1

nadal możesz to zrobić za jednym razem: 'curl http://script.foo | tr -d '\ r' | bash' (lub 'wget .. -O -') – c00kiemon5ter

+2

Tak, ale nie zamierzam wykonywać czegoś od kogoś innego bez wcześniejszego przeczytania. Stąd moje dodatkowe kroki. :) – sarnold

-1

Na początek można zapisać pobrane, wgeted, plik lokalnie i uruchom jako bash pliku. Coz następujące prace dla mnie kot - | bash

+0

Dzięki, ale pytanie dotyczyło instalacji skryptu, nawet jeśli nie zostało to wyraźnie wymienione. – Max13