linux shell判断输入的是哪个不可见字符,例如^X(Ctrl-X)

时间:2021-05-28 11:25:54   收藏:0   阅读:16

最近有一个需求,shell终端输入^X切换到另一个登陆界面。

如何判断输入的是^加上其他字母成为要解决的问题。

查了一堆资料,发现可以这样判断:

#!/bin/sh

echo Please input ^X:
read a
echo $a
if [ $a = $\030 ];then
        echo ACK 
else
        echo NAK
fi

其中\030是^X的八进制值。

要查看一个不可见字符的值,可以用od命令

例如shell终端执行:

input a; echo $a | od -t c

输入^X

得到结果:

  0000000 030 012
  0000002

其中030为^A的值,012为\n的值

-t是type的意思。参数c代表显示字符,d代表以十进制显示,x代表以十六进制显示

 

原文:https://www.cnblogs.com/real-bert/p/14821007.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!