我有一个模块化的应用程序:
var dispatchTime: dispatch_time_t = dispatch_time(DISPATCH_TIME_NOW, Int64(0.1 * Double(NSEC_PER_SEC)))
dispatch_after(dispatchTime, dispatch_get_main_queue(), {
// your function here
})
part1.o的输入文件生成一个输出文件,该文件又是part2.o的输入文件,它生成另一个文件,该文件是part3.o的输入,最后是整个app的输出。
我打算有一个run.sh文件,该文件应该获取子应用程序的第一个输入文件(part1),然后来回触发其余的子应用程序,并将最后一个输出存储在文件名,用命令提到。像这样:
`APP
PART1
part1.sh
PART2
part2.o
PART3
part3.o`
目前我的shell看起来像这样:
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
任何人都可以帮我吗?我究竟做错了什么?
答案 0 :(得分:2)
您正在错误地使用位置参数。
run.sh input.txt output.txt
将使用下面给出的值填充位置参数
$0
= run.sh
$1
= input.txt
$2
= output.txt