Linux Bash命令關(guān)于快捷鍵應(yīng)用
Linux bash快捷鍵是很多習(xí)慣使用快捷鍵的朋友們剛剛接觸Linux的人想要知道的,但是網(wǎng)上介紹快捷鍵的文章并不是很多,這里要注意Linux的不同的bash會(huì)有不同的效果,自已一定要注意使用的bash版本,Linux bash快捷鍵也會(huì)有相應(yīng)的不同。
一直想通過(guò)Bash實(shí)現(xiàn)像VI編輯器中那樣,按一個(gè)鍵便自行執(zhí)行某種操作,一個(gè)偶然的機(jī)會(huì)發(fā)現(xiàn)stty可以實(shí)現(xiàn)。
請(qǐng)先看腳本:
#!/bin/sh
# 我們可以通過(guò)這個(gè)腳本來(lái)實(shí)現(xiàn),對(duì)按鍵的自動(dòng)檢測(cè)。至于用作什么,大家仁者見(jiàn)仁,智者見(jiàn)智了就,“英雄必有用武之地的”。
# 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
# 下面是對(duì)輸入進(jìn)行判斷的部分
#case $_key_press in
1) 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ù)雜的命令可以用在腳本中,用來(lái)控制終端 的行為或者顯示輸出的方法。結(jié)合特殊字符以及case或其它條件判斷,我們很容易就可以實(shí)現(xiàn)像按下Ctrol + F 實(shí)現(xiàn)搜索文件。
腳本中。stty -g 是用來(lái)記錄stty的參數(shù),終端修改后在使用完畢后及時(shí)復(fù)原。
其中 stty -echo 這個(gè)很常用,常用來(lái)用來(lái)要求用戶輸入密碼時(shí)用。
在bash版本里的Linux bash快捷鍵就先說(shuō)到這里。
【編輯推薦】