以下是我在终端进入的内容:
curl --silent https://raw.githubusercontent.com/githubUser/repoName/master/installer.sh | bash
安装bash脚本的WordPress包含一个"读取密码"应该等待用户输入MySQL密码的命令。但是,出于某种原因,当我使用" curl githubURL |运行它时,这不会发生。的bash"命令。当我通过wget下载脚本并通过" sh installer.sh"运行它时,它运行正常。
这可能是什么原因?任何帮助表示赞赏!
答案 0 :(得分:2)
如果要在远程服务器上运行脚本而不在本地保存它,可以试试这个。
#!/bin/bash
RunThis=$(lynx -dump http://127.0.0.1/example.sh)
if [ $? = 0 ] ; then
bash -c "$RunThis"
else
echo "There was a problem downloading the script"
exit 1
fi
为了测试它,我写了一个example.sh:
#!/bin/bash
# File /var/www/example.sh
echo "Example read:"
read line
echo "You typed: $line"
当我运行Script.sh时,输出看起来像这样。
$ ./Script.sh
Example read:
Hello World!
You typed: Hello World!
除非你完全信任远程脚本,否则我会避免在执行之前不检查它。
答案 1 :(得分:1)
它不会停止阅读: 当你以某种方式管道时,你正在分娩一个已从父壳输入的孩子。 您不能将值返回给父级(修改父级的env)。 通过这个过程,你总是在父母的过程中。