En este momento tengo una frase como esta:
curl -fsSL http://git.io/vvZMn | bash
Está descargando el script y pasándolo a bash como archivo stdin. Me gustaría ejecutar este script con argumentos adicionales print
.
Tal vez algo como esto?
curl -fsSL http://git.io/vvZMn | bash -- print
Pero esto no funciona.
print
hacer aquí? Mostrar los comandos que se ejecutan? Si es así, inténtalobash -x
. Nota: estacurl | bash
rutina es un agujero de seguridad masivo; no se ve lo que se ejecutará hasta que su servidor haya sido pwned.Respuestas:
Creo que lo que estás buscando es la
-s
opción. Con-s
, puede pasar argumentos al script.Como un ejemplo ficticio para ilustrar esto:
Aquí, puede ver que el script proporcionado en stdin recibe el parámetro posicional
Print
. Su script toma un-u UUID
argumento y eso también se puede acomodar:Entonces, en tu caso:
O,
Como señaló Stephen Harris, descargar un script y ejecutarlo, sin ser visto, es un problema de seguridad.
fuente
Si su sistema tiene
/dev/stdin
, puede usarNo no hacer esto:
Si quieres usar
--
, haz esto:fuente