#! /bin/sh
a=`printf "33"`
echo -e "33[1;33mEnter Esc to continue33[0m"
while :
do
read -sn 1 b
if [[ "$a" = "$b" ]]
then
exit 0
fi
done
程序作用就是輸出一個提示信息,等待用戶按下ESC鍵后退出程序。
首先,為了程序美觀,我們定義變量a為一個轉(zhuǎn)義字符"33"。這個字符是ASCII碼中的轉(zhuǎn)義字符,表示后面的字符是一個控制字符。然后使用echo命令輸出一段帶有顏色的提示信息,其中使用了控制字符來設(shè)置文本顏色。具體來說,"33[1;33m"表示設(shè)置文本顏色為黃色,"33[0m"表示重置文本顏色。
接下來進入一個無限循環(huán),每次循環(huán)使用read命令讀取用戶輸入的一個字符,并使用選項-s和-n來隱藏輸入字符并不換行。如果讀取到的字符與變量a的值相等,則說明用戶按下了ESC鍵,此時使用exit命令退出程序。如果讀取到的字符與變量a的值不相等,則繼續(xù)等待用戶輸入。
閱讀全文