Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 在使用箭头的菜单中编写项目选择脚本_Bash_Shell_Executable_Sh - Fatal编程技术网

Bash 在使用箭头的菜单中编写项目选择脚本

Bash 在使用箭头的菜单中编写项目选择脚本,bash,shell,executable,sh,Bash,Shell,Executable,Sh,我正在尝试使用bash中调用我没有亲自编写的程序/脚本的脚本来自动化一些诊断。许多脚本都有基于脱离大小写开关和读取按键的菜单,使用脚本输入菜单选项非常简单,如下所示: sh foo.sh <<EOF 0 0 1 EOF sh foo.sh也许tput能帮上忙。它使用终端功能(查看man terminfo)发送您需要的关键代码。 例如:tput kcub1发送终端上左箭头键的键代码 这样,你就有机会通过以下方式实现你的目标 sh foo.sh <<EOF 0 0 $(tp

我正在尝试使用bash中调用我没有亲自编写的程序/脚本的脚本来自动化一些诊断。许多脚本都有基于脱离大小写开关和读取按键的菜单,使用脚本输入菜单选项非常简单,如下所示:

sh foo.sh <<EOF
0
0
1
EOF

sh foo.sh也许
tput
能帮上忙。它使用终端功能(查看
man terminfo
)发送您需要的关键代码。 例如:
tput kcub1
发送终端上左箭头键的键代码

这样,你就有机会通过以下方式实现你的目标

sh foo.sh <<EOF
0
0
$(tput kcub1)
1
$(tput kcud1)
EOF

sh foo.sh+1个有趣的问题!我想看看大师们的建议。祝您好运。调查
expect
autoexpect
您能提供有关此菜单的更多信息吗?是剧本吗?你在运行什么操作系统?为什么不能使用
kill
而不是按ctrl+alt+del?您是如何运行它的(终端、ssh或其他)?@SirAthos,这是一个较旧版本的ubuntu,在恢复模式(控制台)下运行,大多数脚本都在bash中运行。由于该程序/脚本是由第三方提供的接口,因此我无法确定有关该程序/脚本的更多信息。这是一个专有的诊断,这意味着向客户询问更多信息可能会让我得到一个解决方案,或者可能会让诊断被进一步拉下来/锁定(公司对这样的IP很有趣)。另外,
kill
不起作用,因为当我向它提供脚本时,接口会锁定(就像一个无限循环,ctrl+z不会中断)。