Sto costruendo un bootstrap per un progetto github e mi piacerebbe che fosse un semplice one-liner. Lo script richiede una password di input.bash read viene saltato quando viene eseguito da un tubo di curl
Questo funziona e si ferma lo script di aspettare per un ingresso:
curl -s https://raw.github.com/willfarrell/.vhosts/master/setup.sh -o setup.sh
bash setup.sh
Questo non e solo salta sopra la richiesta di ingresso:
curl -s https://raw.github.com/willfarrell/.vhosts/master/setup.sh | bash
setup.sh contiene codice è qualcosa di simile :
# code before
read -p "Password:" -s password
# code after
E 'possibile avere una linea singola pulita? Se è così, come si potrebbe farlo?
Soluzione:
Utilizzare tre comandi invece di uscita tubazioni.
curl -s https://raw.github.com/willfarrell/.vhosts/master/setup.sh -o vhosts.sh && bash vhosts.sh && rm vhosts.sh
Esiste una soluzione alternativa per acquisire un input utente quando si utilizza pipe? –
Se sei sicuro che ci sia un umano lì, leggi da/dev/tty'? –
Lo esaminerò. Grazie. –