我正在寫一個名爲'run'的bash腳本,用於測試具有預定義輸入的程序。UNIX:如何使用文件作爲輸入來運行程序
它將文件作爲第一個參數,然後將程序作爲第二個參數。
調用看起來像
./run text.txt ./check
例如,程序「運行」會跑「檢查」的text.txt與作爲輸入。這將爲我節省大量的測試時間。
現在我有
$2 <text.txt> text.created
所以它採取的text.txt並重定向其輸入到指定的程序,這是第二個參數。然後將結果轉儲到text.created中。
我在text.txt中輸入,我知道輸出應該是什麼樣子,但是當我cat.my文件時,它是空的。
有沒有人知道用文件作爲輸入來運行程序的正確方法?這對我來說似乎很直觀,但是'check'程序可能會出現問題,而不是我在'run'腳本中所做的事情?
謝謝!任何幫助總是感激!
編輯:文件text.txt包含多行文件,每個文件都有一個輸入程序'檢查'。
也就是說,可能的text.txt含有
asdf1.txt asdf2.txt asdf3.txt
我想測試與每個文件asdf1.txt檢查,asdf2.txt,asdf3.txt 。
你得到的是用'text.txt'作爲*標準輸入*來運行程序的正確方法。你確定這是程序期望的嗎? (不同的節目有不同的期望,don'tch'ya知道嗎?) – dmckee
@dmckee甜!那麼text.txt包含「讓我們去」沒有引號和'檢查'期待兩個參數。奇怪的是,沒有什麼是text.created –
啊...重定向文件到標準輸入強調*不*與使用文件的內容參數相同。回答按照。 – dmckee