Re: [問題] shell script 和 c++程式

看板Linux作者 (情為鎖,為情鎖)時間12年前 (2013/06/28 01:23), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串4/4 (看更多)
※ 引述《mongqiu (情為鎖,為情鎖)》之銘言: : 各位linux板的先進大家好 : 因為有類似問題,所以先行搜尋了一下,然後發現了這篇,所以借同一系列文章再提問。 : 我所謂的類似問題是 : 如同原文,如果要在script裡面寫入執行其他程式,如C++或fortran所編譯的程式 : 當執行到內嵌入script的程式那一行時會變成script開啟的shell中等待輸入變數。 : 而原文的推文中已經有回推 : echo "@node@" | ./a.out使得變數自動輸入至程式中。 : 小弟想請問,那如果欲輸入的變數不只一行呢? : 舉例來說 : 如果 : mongqiu@server~>./test.x input.txt : 這樣執行之後,test.x這個執行檔必須接受四行參數才會開始運行 : mongqiu@server~>./test.x input.txt : f n1 n2 n3 : n1 1 2 3 : n2 1 2 3 : n3 1 2 3 : mongqiu@server~> : 請問各位大大該如何將此四行參數寫入script中使之自動輸入呢? : 在此先謝謝各位 orz 首先,非常感謝各位回應的大大。在此再次感謝各位。 然後,小弟必須在此向各位承認我是來亂的,問題我自己解決了 對不起大家 >"< 不過還是回應一下發生問題的所在。 首先是推文在本篇的大大的方法 在原本文章中我沒有寫到這個問題 在script中我原本有試用過這個方法,即 ./test.x input.txt < cat ./data 其中data內容已經編輯了 f n1 n2 n3 n1 1 2 3 n2 1 2 3 n3 1 2 3 此四行欲讀入參數 結果運行結果是 ./test.sh: line 21: cat: No such file or directory 我個人認為是,因為script在執行到該行時已經在script所產生的shell底下執行test.x 這個程式,所以程式中沒有data這個檔案 至於改成 ./test.x input.txt << cat data f n1 n2 n3 n1 1 2 3 n2 1 2 3 n3 1 2 3 data 確實是可行的。 但小弟已經在看到回應之前想到另一個方法了 即在script中以cat加pipe,同樣以data為一個已經含有參數的內容 cat ./data | ./test.x input.txt 還是再次感謝回應的大大們 orz 謝謝大家的指教。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.136.176.155

06/28 08:23, , 1F
其實可以 ./test.x < ./data
06/28 08:23, 1F

06/28 10:36, , 2F
不用 cat 啊,我的 cat 只是拿來當範例而已
06/28 10:36, 2F
文章代碼(AID): #1Hp7KKHw (Linux)
文章代碼(AID): #1Hp7KKHw (Linux)