通过 stdin 多次将参数传递给 shell 脚本

Passing arguments to a shell script via stdin multiple times

我有一个脚本 StartProcess.sh,它接受 stdin 中的两个选项 - 3 和一个文件名 test.xml

如果我运行下面的脚本,它会正确执行,并再次等待输入。 我想以某种方式将 3test.xml n 次传递给 StartProcess.sh。我如何实现这一点。

./StartProcess.sh << STDIN -o other --options 
3
test.xml
STDIN

您可以 运行 循环在循环中多次传递参数,并 运行 通过管道传递脚本。这样,脚本只会启动一次,参数会根据您的选择多次通过标准输入发送

count=3
for (( iter = 0; iter < 3; iter++ )); do
    echo "3" "test.xml"
done | StartProcess.sh

但我不确定您是想将文字字符串 test.xml 作为参数还是文件内容传递。