2015-02-23 74 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 

这一点,你告诉你的脚本获取某个文件的内容“读”信息。

相关问题