2015-02-23 73 views
0

我有一個程序,在執行後,等待用戶輸入文件名。有沒有一種方法使用bash(或任何其他shell)在執行前傳遞文件名? 既然它不讀取參數,'<'不是一個選項,但也許有一個簡單的方法來編寫它? (運行和打字幾次成爲了一會兒後;-)無聊)當程序等待輸入時如何通過命令行傳遞文件名

+0

管道和參數是兩個不同的東西。你有沒有試過'echo $ fliename |你的程序? – Tiago 2015-02-23 14:04:46

+0

對不起,我已將它改爲'<',這就是我的意思。 – quarky 2015-02-23 14:05:52

+0

不錯,有用,謝謝。 :-)我知道有一個簡單的解決方案。 – quarky 2015-02-23 14:06:43

回答

0

你可以試試:

echo $filename| yourprogram 

它不工作來看看expect

1

我希望這有助於:

這是測試腳本:

$ cat test.sh 
read file 
echo $file 

現在,一個文本文件w ^第i一些路徑/文件名中:

$ cat /tmp/somefile 
/var/log/messages 

現在,魔術:

./test.sh < /tmp/somefile 
/var/log/messages 

這一點,你告訴你的腳本獲取某個文件的內容「讀」信息。

相關問題