假设我有一个脚本:my_script.sh
不要执行以下操作:
./my_script.sh
我想要做类似于:
cat my_script.sh | <some command here>
有没有办法直接执行输出wget、s3cat等命令的脚本,而不需要将其保存为临时文件再改变权限?
./my_script.sh
我想要做类似于:
cat my_script.sh | <some command here>
有没有办法直接执行输出wget、s3cat等命令的脚本,而不需要将其保存为临时文件再改变权限?
只需将它传输到您喜欢的shell中,例如:
$ cat my_script.sh
set -x
echo hello
$ cat my_script.sh | sh
+ echo hello
hello
(使用set -x
命令可以让shell在执行每个语句之前打印出该语句,这对于调试非常有用,但与您的问题无关 - 仅供演示目的。)
set -x
部分是做什么的,以及它是否是解决方案的重要部分或只是你可以做的事情类型的例子,那么你的答案会更好。 - Bryan Oakleyset -x
应该在所有POSIX shell中都可用。 - Mat您可以使用管道中的stdin:
cat my_script.sh | xargs -i <some_command> {}
或者:
cat my_script.sh | bash -
bash < my_script.sh
RVM建议使用运行他们的安装程序的方法:
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)