本帖最后由 风精灵 于 2024-11-22 08:59 编辑

#! /bin/sh
a=`printf "\033"`
echo -e "\033[1;33mEnter Esc to continue\033[0m"
while :
do
        read -sn 1  b
        if [[ "$a" = "$b" ]]
        then
                exit 0
        fi
done

       程序作用就是输出一个提示信息,等待用户按下ESC键后退出程序。
       首先,为了程序美观,我们定义变量a为一个转义字符"\033"。这个字符是ASCII码中的转义字符,表示后面的字符是一个控制字符。然后使用echo命令输出一段带有颜色的提示信息,其中使用了控制字符来设置文本颜色。具体来说,"\033[1;33m"表示设置文本颜色为黄色,"\033[0m"表示重置文本颜色。
       接下来进入一个无限循环,每次循环使用read命令读取用户输入的一个字符,并使用选项-s和-n来隐藏输入字符并不换行。如果读取到的字符与变量a的值相等,则说明用户按下了ESC键,此时使用exit命令退出程序。如果读取到的字符与变量a的值不相等,则继续等待用户输入。


    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Powered by Discuz! X3.5  © 2001-2013 Comsenz Inc.