使用expect做命令交互,需要模拟键盘下箭头操作,查到键盘码 ASCII码为:方向键(↓): VK_DOWN (40),
但是使用send "/40"或"0x28"都无效
回车键ASCII码: VK_RETURN (13)
使用send "/13"无效
使用send "/r" 有效
ASCII码有误吗??还有怎么回事。
求解。
使用expect做命令交互,需要模拟键盘下箭头操作,查到键盘码 ASCII码为:方向键(↓): VK_DOWN (40),
但是使用send "/40"或"0x28"都无效
回车键ASCII码: VK_RETURN (13)
使用send "/13"无效
使用send "/r" 有效
ASCII码有误吗??还有怎么回事。
求解。
以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在Linux中,expect命令可以用来执行命令的交互式会话。为了模拟键盘输入,你可以使用send函数来发送特定的字符序列。这里是一个简单的例子:
#!/bin/bash
# 定义一个函数,用于模拟向下箭头(方向键)的输入
simulate_down_arrow() {
expect -c '
spawn "echo -ne "\x1b[3A\x1b[5A" && echo -n "$*" && echo -ne "\x1b[2K"
' || exit $?
}
# 定义一个函数,用于模拟回车键的输入
simulate_return_key() {
expect -c '
spawn "echo -ne "\x1b[10K" && echo -n "$*" && echo -ne "\x1b[A"
' || exit $?
}
# 模拟向下箭头和回车键的输入
simulate_keys() {
simulate_down_arrow
simulate_return_key
}
# 调用模拟按键函数
simulate_keys
这个脚本定义了两个函数simulate_down_arrow和simulate_return_key,它们分别模拟向下箭头(方向键)和回车键的输入。然后调用了这两个函数来进行模拟。
注意,这个脚本只是一个基本的例子,实际使用时可能需要根据你的需求进行修改。例如,你可能想要添加更多的模拟按键功能,或者改变按键的速度等。