看板 Linux 關於我們 聯絡資訊
看到這個問題也有類似的問題 如果要先跑一個程式A A跑完以後會產生一些文件T 假設需要等A跑完以後在拿T做一些處理以後再跑別的程式 可以怎麼寫? 我試過可以用的只有 先用test 去看T產生出來沒 沒有就 sleep一段時間 然後再 test一次 等到test 看到 T檔存在了 再去執行下一步 請問有別的寫法嗎? 謝謝 ※ 引述《jtmh (:))》之銘言: : 這位網友的文章內容似乎是 UTF-8 編碼, : 幫忙轉譯如下: : [email protected] (joe) writes: : > 我有一個執行序完成以後, : > 他會自己產生出一個a.out的檔案, : > 我想問說怎樣寫一個Shell, : > 當a.out檔案出來時, : > 系統會自動執行下一個指令。 : > -- : > ◆ From: 140.113.5.58 : 生成a.out的是gcc吧。 : 代碼如下: : #!bin/bash : gcc $1 && check=1 : if [ "$check" == "1" ]; then : chmod 744 a.out : ./a.out : fi : 你需要新建一個文件bianyi.sh,將上面的代碼複製進去,然後保存。 : 將該文件與你要編譯的c源程序放在同一個文件夾,然後執行如下命令: : sh bianyi.sh yourfile.c : 這樣就沒問題了。如果編譯不通過的時候會顯示gcc的錯誤提示而不會去執行a.out。 : ##如果你不是進行c源程序編譯,請自行修改"gcc $1 && check=1"這一行,將gcc這 : 個命令改為你需要使用的命令即可。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 108.224.49.149 ※ 編輯: noonee 來自: 108.224.49.149 (11/24 04:57)
Ihk:試試看script language可能比較適合你的需求ex:python or perl 11/24 07:23
carlcarl:A && other_program 11/24 07:29
noonee:謝謝建議 不過A 通常是一個 submit的動作 所以總是成功 11/24 12:52
noonee:要判斷是否跑完 基本上是要等T 檔案出來 11/24 12:52
carlcarl:不過你A跑完 不是就等於T檔案出來嗎?還是? 11/24 12:58
noonee:A是 submit的動作 程式時常要跑幾個鐘頭甚至幾天 11/24 13:01
noonee:所以output的T檔案不會即時出來 11/24 13:02
kdjf:linux: inotify 11/24 17:02
dyoll:A; sleep 5; other_program 11/25 00:10
OpenSolaris:看到我就想到用tcl怎麼寫了,shell還沒有主意.... 11/25 12:07
legnaleurc:重要的是 A 跑完前會不會 block, 會就很好寫 11/25 20:09