Bash 管道无法与我的脚本配合使用

And*_*dry 2 linux bash shell

我写了两个脚本。一种是myscipt1.sh读取整数序列(作为参数提供)并报告最终数字:

[user@pc user] ./myscript1.sh 34 45 67 234
[user@pc user] 1200
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,脚本返回1200. 另一个脚本myscript2.sh采用字符串作为输入并返回整数序列:

[user@pc user] ./myscript2.sh a string to provide
[user@pc user] 364 465 786 34 22 1
Run Code Online (Sandbox Code Playgroud)

我想myscript1.sh通过传递结果来调用myscript2.sh,所以我尝试了:

[user@pc user] ./myscript2.sh my_string | ./myscript1.sh
Run Code Online (Sandbox Code Playgroud)

但我没有运气myscript1.sh(对传递的参数数量进行检查,没有传递任何参数退出)报告没有传递任何参数。

当我在我编写的脚本中使用管道时,Bash 似乎出现了问题。怎么做?

anu*_*ava 5

您可以将其运行为:

./myscript1.sh $(./myscript2.sh my_string)
Run Code Online (Sandbox Code Playgroud)