如何将多个脚本重定向为一个bash

时间:2018-01-30 18:18:26

标签: linux bash shell

如果我有一个脚本文件script0.sh,我可以将bash像stdin那样运行:

bash -s < script0.sh

如何将多个脚本文件(script0.shscript1.sh,...)合并为一个“流”(缺少更好的词),就像我使用cat script0.sh script1.sh ...一样并使用单个命令将结果重定向到bash,就像上面的单个文件一样?

2 个答案:

答案 0 :(得分:3)

使用流程替换:

bash -s < <(cat script0.sh script1.sh)

答案 1 :(得分:2)

您可以使用cat和管道|完成您想要的操作:

cat script0.sh script1.sh script2.sh ... | bash

管道接受一个命令的输出并使其成为另一个命令的输入。

作为一种测试方式:

$ echo "echo yes" | bash
yes

这是有效的,因为bash将执行来自其标准输入的任何内容。您可以添加-s选项,告知bash明确地执行此操作。