我具有被模塊化的這樣的應用程序:如何使用shell觸發多個相關程序?
`APP
PART1
part1.sh
PART2
part2.o
PART3
part3.o`
爲part1.o輸入文件生成一個輸出文件,該文件再一次爲part2.o輸入文件,它產生另一個文件,它是用於第三部分的輸入。 o最後是整個應用程序的輸出。
我打算有一個run.sh文件,該文件應該爲子應用程序(part1)獲取第一個輸入文件,然後觸發剩餘的子應用程序並將最後一個輸出存儲到文件中名稱,用命令提到。事情是這樣的:
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
.
.
.
.
能
人幫助我呢?我究竟做錯了什麼?
你期待'<$ 0'完成了什麼?你真的想'part1.sh'來處理文件'run.sh'的內容嗎? – John1024
@ John1024我明白了。我已經修復了這部分,但它仍然導致相同的行爲。我想從'run.sh'觸發'part1.sh'(反過來)。 – ikis
你期望'./PART1/part1.sh $ 0'完成什麼?請解釋你認爲'$ 0'的含義。 – John1024