Re: [問題] GNU C使用 system 呼叫外部程式的問題
※ 引述《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
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章