【问题标题】:How to pass filename via command line when program waits for input程序等待输入时如何通过命令行传递文件名
【发布时间】:2015-02-23 14:01:58
【问题描述】:

我有一个程序在执行后等待用户输入文件名。有没有办法在执行之前使用 bash(或任何其他 shell)传递文件名? 由于它不读取参数,因此“

【问题讨论】:

  • 管道和参数是两个不同的东西。你试过echo $fliename| yourprogram 吗?
  • 对不起,我已经把它改成了 '
  • 很好,可以,谢谢。 :-) 我知道有一个简单的解决方案。
  • 没问题,我正在添加一个答案,所以你可以接受它:)
  • 一个更好的方法是修改你的脚本来接受一个参数。

标签: bash shell input arguments


【解决方案1】:

我希望这会有所帮助:

这是测试脚本:

$ cat test.sh
read file
echo $file

现在,一个包含路径/文件名的文本文件:

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

现在,魔法:

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

这样,您就是在告诉您的脚本从文件内容中获取“读取”信息。

【讨论】:

    【解决方案2】:

    你可以试试:

    echo $filename| yourprogram
    

    不行的看expect

    【讨论】:

      猜你喜欢
      • 2021-02-09
      • 1970-01-01
      • 2015-04-17
      • 2014-11-05
      • 2016-05-07
      • 1970-01-01
      • 1970-01-01
      • 2019-04-19
      • 1970-01-01
      相关资源
      最近更新 更多