我有一个(只读)可执行文件"myexec",我总是执行后跟输入"input1"(一个字符串),然后我继续我的业务""和"退出"我感觉如下:
$ myexec
> input1
> do something else for as long as I like
> exit
Run Code Online (Sandbox Code Playgroud)
我想做的是使用输入"input1" 自动执行"myexec",然后能够"只要我喜欢就做其他事情".从我所看到的,我的选择是:
$ myexec <<< "input1"
Run Code Online (Sandbox Code Playgroud)
要么
$ echo "input1" | myexec
Run Code Online (Sandbox Code Playgroud)
要么
$ myexec << EOF
input1
EOF
Run Code Online (Sandbox Code Playgroud)
但这些方法的问题是它们在读取"input1"后终止"myexec".如何避免EOF /退出/终止?
您可以使用expect来自动执行此操作.例如:
#!/usr/bin/expect
spawn /my/exec
expect "> "
send "input1\r"
interact
Run Code Online (Sandbox Code Playgroud)