linux - Bash,如何检查变量中的控制字符(不可打印字符)?

标签 linux bash

我有一个 Bash 语句来获取用户输入(单个字符)到 tmpchar 中:

read -n 1 -t 1 tmpchar

我可以像这样检查可打印的字符输入:

if [ "$tmpchar" = "n" ] || [ "$tmpchar" = "N" ]; then
  # do something...
fi

现在我的问题是:如果用户输入的只是 Return、ESC、Ctrl+a、Ctrl+b 等,我该如何检查它们?

环境:openSUSE 12.3,Bash 4.2.42(1)-release

最佳答案

也许您正在寻找 ANSI-C quoting .例如,Ctrl-a 表示为 $'\ca'

关于linux - Bash,如何检查变量中的控制字符(不可打印字符)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24276815/

相关文章:

php - 检测 bash 中的字符串

bash - 如何将查找结果传递给 CP,使带空格的文件名有效

linux - Unix 命令删除了每个目录,即使没有指定

linux - 如何使用新名称制作文件的副本,并在文件名中包含原始文件的时间戳?

c++ - 编写一个 Shell 脚本来运行我的带有输入的程序

c++ - 从相对于加载可执行文件的目录加载 .so

linux - 我可以阅读 Linux 内核的哪些部分以获得乐趣?

c - 如何在Linux中串行写入数据到USB端口

MySQL 查询被杀死——如何防止这种情况发生?

linux - 循环遍历具有相同名称但扩展名不同的文件的 Shell 脚本