我试图用bash调用另一个shell脚本,但是这个脚本不接受任何命令行参数。相反,它运行,检查一些事情,然后提示用户输入如下:
Checking....done
Please enter ID #: (user input here)
是否可以这样做?
答案 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
答案 2 :(得分:0)
如果您有单一输入信号,那么回声就足够了,
回声“输入”| ./script.sh
如果你有超过1个输入,那么期望是好的,只有选项,
记录上面提到的脚本,然后运行它
期待sampleexpect.expec