解释起来有点混乱。
我有一个想要像这样部署的脚本:
curl -Ls example.com/myscript.sh | bash
问题是脚本从标准输入读取如下内容:
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
现在,由于 stdin 显然是脚本本身的来源,因此目前无法使用。有什么方法可以重新获得终端吗?
(目前的解决方法是像这样部署curl -Ls example.com/myscript.sh > myscript.sh && bash myscript.sh
:)
答案1
用一个流程替代
bash <(curl -Ls example.com/myscript.sh)