如何使用bash脚本启动CLI程序并为其提供输入?

时间:2014-11-09 19:29:54

标签: bash scripting

我有一个使用Node的软件包管理器下载的第三方CLI程序。通过在终端中键入程序的名称来启动该程序。一旦启动程序,程序就要求用户输入字符串,如果字符串是它识别的字符串,程序将在适当的命令中解释。我想自动化从文件中读取行的过程,并将这些行传递给程序中的字符串。

现在,当我在Google上寻求有关如何自动化CLI程序的帮助时,我得到了如何编写bash脚本。这还不够,因为我需要的是一个bash脚本,它打开一个程序,然后将参数传递给该程序,而不是终端本身。基本上我需要我的脚本(将文件作为唯一的参数读取行)来执行以下操作

run my_program
while there are more lines to read from the file:
    "Lookup"
    $line
close my_program

其中“Lookup”是由my_program识别为命令的字符串,$ line表示我想将当前正在从文件中读取的行作为参数传递给程序。

编辑:我编写了以下脚本,但它将“while read line”解释为传递给my_program的参数。我如何才能使它只将while循环中的命令解释为my_program的参数?

#!/bin/bash
while read line
do
        my_program
        "Lookup"
        "$line"
done < $1

1 个答案:

答案 0 :(得分:0)

#!/bin/bash
while read line
do
    my_program $line
done < $1

并使用输入文件作为参数

运行此脚本