我有一个像这样模块化的应用程序:
`APP
PART1
part1.sh
PART2
part2.o
PART3
part3.o`
part1.o的输入文件生成了一个输出文件,该文件再次是part2.o的输入文件,该文件生成了另一个文件,该文件是part3.o的输入,最后是整个应用程序的输出。
我打算有一个run.sh文件,该文件应将第一个输入文件用于子申请(PART1),so so so so the the the trigts剩余的子应用程序,然后将最后一个输出存储在文件名中,用命令提到。这样的东西:
run.sh input.txt output.txt
目前我的外壳看起来像这样:
OUTPUT1="output1.txt"
OUTPUT2="output2.txt"
./PART1/part1.sh $0 > OUTPUT1 &&
./PART2/part2.o < OUTPUT1 > OUTPUT2 &&
./PART3/part3.o < OUTPUT2 > $1
当前,如果我运行此代码,我将获得以下输出无限的长度:
+ ./run.sh
+ ./run.sh
+ ./run.sh
.
.
.
.
有人可以帮我吗?我究竟做错了什么?
您使用位置参数不正确。
run.sh input.txt output.txt
将填充位置参数,值以下为
给出的值 $0
= run.sh
$1
= input.txt
$2
= output.txt
更多关于位置参数的信息