假设我有一个脚本: my_script.sh
而不是做
./my_script.sh
我想做一些事情:
cat my_script.sh | <some command here>
使脚本执行。 这可能吗?
用例是如果我想要执行的脚本是wget或s3cat等的输出。现在我将它保存到一个临时文件,将其更改为可执行文件,然后运行它。 有没有办法直接做到这一点?
只需将其输入到您喜欢的外壳中,例如:
$ cat my_script.sh set -x echo hello $ cat my_script.sh | sh + echo hello hello
( set -x
会让shell在运行之前打印出每个要运行的语句,方便调试,但是与您的问题没有任何关系 – 只是为了演示目的。)
你可以使用:
cat my_script.sh | xargs -i <some_command> {}
要么:
cat my_script.sh | bash -
RVM建议使用此方法运行其安装程序 :
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)