使用bash调用另一个shell脚本并指定输入

时间:2014-02-17 03:44:07

标签: bash shell

我试图用bash调用另一个shell脚本,但是这个脚本不接受任何命令行参数。相反,它运行,检查一些事情,然后提示用户输入如下:

Checking....done
Please enter ID #: (user input here)

是否可以这样做?

3 个答案:

答案 0 :(得分:2)

尝试这样的事情:

echo "My id" | ./script
Checking... done
Please enter ID: My id

./script << EOF
My_id
another input
EOF

Checking... done
Please enter ID: My_id
<blah>
Please enter something: anoter input

答案 1 :(得分:2)

解决方案是使用expect

#!/usr/bin/expect
spawn php /path/to/script
expect "ID #: "
send "{ID#}\r"
interact

参考:Simulate user input in bash script

答案 2 :(得分:0)

如果您有单一输入信号,那么回声就足够了,

回声“输入”| ./script.sh

如果你有超过1个输入,那么期望是好的,只有选项,

记录上面提到的脚本,然后运行它

期待sampleexpect.expec