我正在尝试创建一个bash脚本,该脚本可以轻松下载并从终端运行。在bash脚本中,有一些用户输入。
运行:
sudo wget -O - https://script.com/script.sh | bash
这将下载脚本并使用bash运行它,但将忽略script.sh中的用户输入:
echo "Please enter a username:"
read -p 'Username: ' uservar
echo "Please enter a strong password:"
read -sp 'Password: ' passvar
echo
echo "
user=$uservar
password=$passvar
" >> ~/.data/cred.conf
echo "Succesfully installed."
运行:
sudo wget -O - https://script.com/script.sh && bash ./script.sh
工作正常,并提示用户输入。有什么方法可以使用户输入与管道(| bash
)配合使用?
答案 0 :(得分:1)
来自评论
| bash <(cat) </dev/tty
为什么以及如何工作
<(cat)
构造允许
</dev/tty
将伪终端设备/dev/tty
重定向到bash进程的输入