W tej chwili mam taki jeden liner:
curl -fsSL http://git.io/vvZMn | bash
Pobiera skrypt i przekazuje go do bash jako plik stdin. Chciałbym uruchomić ten skrypt z dodatkowym argumentem print
.
Może coś takiego?
curl -fsSL http://git.io/vvZMn | bash -- print
Ale to nie działa.
print
? Wyświetlać uruchamiane polecenia? Jeśli tak, spróbujbash -x
. Uwaga: Tacurl | bash
procedura jest ogromna dziura bezpieczeństwa; nie zobaczysz, co zostanie uruchomione, dopóki serwer nie zostanie włożony.Odpowiedzi:
Wierzę, że to, czego szukasz, jest
-s
opcją. Za pomocą-s
możesz przekazać argumenty do skryptu.Jako obojętny przykład ilustrujący to:
Tutaj widać, że skrypt podany na stdin otrzymuje parametr pozycyjny
Print
. Twój skrypt wymaga-u UUID
argumentu, który można również uwzględnić:W twoim przypadku:
Lub,
Jak zauważył Stephen Harris, pobranie skryptu i wykonanie go, niewidoczne dla wzroku, stanowi problem bezpieczeństwa.
źródło
Jeśli twój system ma
/dev/stdin
, możesz użyćCzy nie to zrobić:
Jeśli chcesz użyć
--
, zrób to:źródło