Unix shell - tcsh 簡(jiǎn)介3
——
tcsh提供類(lèi)似GNU Emacs或VI的控制鍵來(lái)修改目前命令列之命令,其預(yù)設(shè)值為使用
GNU Emacs的控制鍵,但是使用者可利用bindkey命令將控制鍵改為VI模式,或是依
各人之喜好定義出自己認(rèn)為方便的控制鍵。
關(guān)于 GNU Emacs 與 VI之控制鍵定義請(qǐng)查相關(guān)資料。
* 定義自己的控制鍵
使用者可利用bindkey命令,來(lái)定義自己需要或慣用的控制鍵,或是將某個(gè)按鍵
定義成常用的UNIX命令,甚至連使用者常用的字串亦可定義。
語(yǔ)法: bindkey [-a] [-c] [-s] [-v] [-e] [-d] [-k] [-l] [-r] [--]
[[in-string | key-name][out-string | command]]
說(shuō)明: -a :
-s : 指定輸出用某一字串取代,而非執(zhí)行tcsh所提供之控制命令,類(lèi)
似alias的功能。
-c : 指定輸出用某一UNIX命令取代并加以執(zhí)行。
-v : 將控制鍵命令對(duì)照方式設(shè)為VI模式。
-e : 將控制鍵命令對(duì)照方式設(shè)為Emacs模式。
-k :
-d :
-l : 列出可指定之控制命令。
-r : 將某一已定義之控制鍵移去。
例如:
>bindkey "[HOME]" beginning-of-line
將[HOME]這個(gè)鍵定義為移至一行之開(kāi)頭,以后當(dāng)你在做命令列編修時(shí),按下
[HOME],游標(biāo)就會(huì)移至該命令列之開(kāi)頭。
>bindkey -r "[HOME]"
將[HOME]這個(gè)鍵的定義移去。
>bindkey -s "^F" I_am_Fish!
將Ctrl-F定義為I_am_Fish!這個(gè)字串,當(dāng)你按下該鍵時(shí),螢?zāi)簧蠒?huì)顯示出
I_am_Fish!這個(gè)字串。
>bindkey -s "^X" ls -alF
將Ctrl-F定義為執(zhí)行l(wèi)s -alF這個(gè)UNIX命令。
5.周期性命令之執(zhí)行(Periodic Command Execution)
藉著設(shè)定shell變數(shù)tperiod與代名(alias)periodic,可執(zhí)行周期性之命令。
語(yǔ)法: set tperiod=<minute(s)>
alias periodic <command>
說(shuō)明: <minute(s)> 時(shí)間間隔,以分鐘為單位。
<command> 欲執(zhí)行之命令。
例如:
>set tperiod=30
>alias periodic checknews
tcsh將會(huì)每隔30分鐘執(zhí)行checknews這個(gè)命令一次。
6.時(shí)間性事件列表(Timed Event List)
tcsh提供了一個(gè)命令sched,讓你能在每天特定的時(shí)間執(zhí)行某個(gè)命令,其功能類(lèi)似
UNIX上原有之crontab的功能。
語(yǔ)法: (1)sched [+]hh:mm <command>
(2)sched
(3)sched -<number>
說(shuō)明: (1)[+]hh:mm 欲執(zhí)行命令之時(shí)間,+表示過(guò)了中午12:00,或可利用’am’或
’pm’來(lái)指定,例如:8:00表示早上8:00,亦可用8:00am來(lái)表示,
而+3:30表示下午3:30,亦可用3:30pm來(lái)表示。
<command> 欲執(zhí)行之命令。
(2)不加任何參數(shù),則列出已指定時(shí)間之命令。
(3)用以去除某一已設(shè)定之命令,<number>表示該命令在list中之編號(hào)。
例如:
(1)>sched 11:50 echo It’s time to eat lunch.
>sched 5pm set prompt=’[%h] It’s after 5; go home: >’
于早上11:50在螢?zāi)簧嫌〕鯥t’s time to eat lunch.,而在下午5:00時(shí),將提示
符號(hào)(prompt)改為[26] It’s after; go home: >,26是該命令history list中
的號(hào)碼。
(2)>sched
1 Wed Apr 4 15:42 /usr/lib/uucp/uucico -r1 -sother
2 Wed Apr 4 17:00 set prompt=[%h] It’s after 5; go home: >
>
將會(huì)列出目前所有以設(shè)定時(shí)間與命令的對(duì)照表。
Not that many scheduled events.
>sched -2
>sched
1 Wed Apr 4 15:42 /usr/lib/uucp/uucico -r1 -sother
>
將scheduled list的第二項(xiàng)移去。
評(píng)論