如何使用shell触发多个依赖程序?

时间:2016-06-14 01:07:45

标签: bash shell

我有一个模块化的应用程序:

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

任何人都可以帮我吗?我究竟做错了什么?

1 个答案:

答案 0 :(得分:2)

您正在错误地使用位置参数。

run.sh input.txt output.txt

将使用下面给出的值填充位置参数

$0 = run.sh

$1 = input.txt

$2 = output.txt

More on positional params