時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
一直想通過Bash實(shí)現(xiàn)像VI編輯器中那樣,按一個(gè)鍵便自行執(zhí)行某種操作,一個(gè)偶然的機(jī)會(huì)發(fā)現(xiàn)stty可以實(shí)現(xiàn)。
請先看腳本:
#!/bin/sh
# 我們可以通過這個(gè)腳本來實(shí)現(xiàn),對按鍵的自動(dòng)檢測。至于用作什么,大家仁者見仁,智者見智了就,"英雄必有用武之地的"。
# 2009-12-29 13:00:54 update
# wangxiaoyu(AT)live.com From http://wangxiaoyu.blog.51cto.com
_tty_setting=$(stty -g)
stty -icanon
stty -echo
# We can use c2 arguement to use keyboard shortcut with 2 characters.
_key_press=$(head -c1)
stty $_tty_setting
# 下面是對輸入進(jìn)行判斷的部分
#
case $_key_press in
A) echo -en "我們這里可以替換成我們所要執(zhí)行的命令字符串1\n"
;;
2) echo -en "我們這里可以替換成我們所要執(zhí)行的命令字符串2\n"
;;
3) echo -en "我們這里可以替換成我們所要執(zhí)行的命令字符串3\n"
;;
4) echo -en "我們這里可以替換成我們所要執(zhí)行的命令字符串4\n"
;;
5) echo -en "我們這里可以替換成我們所要執(zhí)行的命令字符串5\n"
;;
6) echo -en "我們這里可以替換成我們所要執(zhí)行的命令字符串6\n"
exit 1;;
*) echo -en "這里可以替換成腳本的幫助信息相關(guān)的命令\n"
esac
附注:
stty是用于顯示和修改終端設(shè)置的,這個(gè)復(fù)雜的命令可以用在腳本中,用來控制終端 的行為或者顯示輸出的方法。結(jié)合特殊字符以及case或其它條件判斷,我們很容易就可以實(shí)現(xiàn)像按下Ctrol + F 實(shí)現(xiàn)搜索文件。
腳本中。stty -g 是用來記錄stty的參數(shù),終端修改后在使用完畢后及時(shí)復(fù)原。
其中 stty -echo 這個(gè)很常用,常用來用來要求用戶輸入密碼時(shí)用。
關(guān)鍵詞標(biāo)簽:Linux
相關(guān)閱讀
熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤序列號(hào)與MAC地址 dmidecode命令查看內(nèi)存型號(hào) linux tc實(shí)現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負(fù)載