Use uma substituição de processo
bash <(curl -Ls example.com/myscript.sh)
Isso é um pouco confuso para explicar.
Eu tenho um script que quero implantar assim:
curl -Ls example.com/myscript.sh | bash
O problema é que o script lê a entrada padrão da seguinte forma:
echo "You should edit /srv/pillar/tm.sls now. Comments are in the file."
echo Type "skip" to skip or anything else to edit.
read text
if [ "$text" != "skip" ]; then
sudo pico /srv/pillar/tm.sls
fi
Agora, como o stdin está obviamente servindo como fonte do script em si, isso não funciona atualmente. Existe uma maneira de recuperar o terminal?
(A solução atual é implantá-lo assim: curl -Ls example.com/myscript.sh > myscript.sh && bash myscript.sh
)
Use uma substituição de processo
bash <(curl -Ls example.com/myscript.sh)