假设我在URL上有一个文件"http://mywebsite.com/myscript.txt"其中包含一个脚本:
#!/bin/bash
echo "Hello, world!"
read -p "What is your name? " name
echo "Hello, ${name}!"
我想运行这个脚本,而不首先将其保存到文件中.我该怎么做?
现在,我已经看到了语法:
bash < <(curl -s http://mywebsite.com/myscript.txt)
但这似乎不像我保存到一个文件然后执行那样有效.例如,readline不工作,输出只是:
$ bash < <(curl -s http://mywebsite.com/myscript.txt)
Hello, world!
同样,我也try 过:
curl -s http://mywebsite.com/myscript.txt | bash -s --
同样的结果.
最初我有一个解决方案,比如:
timestamp=`date +%Y%m%d%H%M%S`
curl -s http://mywebsite.com/myscript.txt -o /tmp/.myscript.${timestamp}.tmp
bash /tmp/.myscript.${timestamp}.tmp
rm -f /tmp/.myscript.${timestamp}.tmp
但这似乎有些草率,我想要一个更优雅的解决方案.
我知道从URL运行shell脚本的安全性问题,但现在让我们忽略所有这些.