14
2024
03
16:17:29

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


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

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

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

复制代码
#!/bin/shecho Please input ^X:
read aecho $aif [ $a = $'\030' ];then
        echo ACK 
else
        echo NAKfi
复制代码

其中\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代表以十六进制显示




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/5444.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: