Re: [問題] GNU C使用 system 呼叫外部程式的問題

看板C_and_CPP (C/C++)作者 (鐵拳無敵孫中山)時間18年前 (2006/04/06 20:08), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/1
※ 引述《bestard (幸福好難)》之銘言: : sprintf(buf,"csh -c \"source abc.env\";csh -c \"123 -f work.scr\""); : system(buf); : 感覺system指令呼叫時每個指令列是一個單獨的執行緒, 雖然source : 環境檔了, 可是 123 的環境設定還是沒有啟動. 請問各位先進我該怎麼修改呢? : 謝謝 因為您跑 csh -c "source abc.env" 時,確實啟動了 csh,並載入了 abc.env 但是環境變數等等只會往子 process 傳承下去,跟父 process 無關,跟兄弟 process 也無關。您的 abc.env 只會影響到 source abc.env 的那個 csh,以及之後從那個 csh 執行的其他程式。對後面的另一個 csh 完全沒有關係。 所以,用一個 csh 跑就好啦 csh -c \"source abc.env ; 123 -f work.scr\" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.242.104

04/07 09:26, , 1F
阿..原來是這樣..我怎麼好像老是小細節都沒想到...= =
04/07 09:26, 1F

04/07 09:27, , 2F
謝謝大大指點阿~ ^^
04/07 09:27, 2F
文章代碼(AID): #14DGJ7MG (C_and_CPP)
文章代碼(AID): #14DGJ7MG (C_and_CPP)