[[PageOutline]] = gpg key 更新 = {{{ "gpg --keyserver subkeys.pgp.net --recv-key D7E8DF3A" 然後再執行 "gpg -a --export D7E8DF3A | apt-key add -". }}} = stty = 設定 tty,並讀出資料。 {{{ stty -F /dev/ttyXXXX raw speed 9600 cat /dev/ttyXXXX }}} = source = {{{ man bash #!/bin/bash }}} = 符號 = {{{ `要執行的命令` `mount | grep "update"` }}} 會執行 `` 中的命令 {{{ a=$(tail -n 1 tmp) }}} 會將 tmp 中最後一行的值存入 a 變數內。 = 判斷式 = == test == 0 表示正確。 1 表示錯誤。 $? 顯示上個判斷值。 {{{ a=11 test $a -lt 10 echo $? }}} 結果 {{{ a=$((a+1)) echo $a }}} == [] 中括號 == 判斷自己是否為 root {{{ [ $UID == 0 ] }}} = 迴圈 = * http://www.cyberciti.biz/faq/bash-for-loop/ = function = {{{ function add() { echo $1 echo $2 } add 2 4 }}} = dmesg = = unset = 將變數內容清除 {{{ b=12 echo $b unset b echo $b }}} = sed = http://www.cyut.edu.tw/~dywang/linuxProgram/node19.html s function 類似 vim 的取代指令。 {{{ sed 's/要被取代的字串/新的字串/g' }}} p function 可以印出資料,常與 -n 使用,才能只秀出處理過後的結果。 {{{ sed -n '9p' photoid }}} 將檔案中第 9 行字串傳給 $a 。 {{{ a=$(sed -n '9p' photoid ) }}} = awk = 以空白將字串分開,第一個字串代表 $1 ,第二個字串代表 $2 {{{ dmesg | tail -n 1 | awk '{print $2}' }}} = read = {{{ read aa < "tmp" }}} 將 tmp 檔內的資料讀入 aa 內。 = whiptail = 產生對話式選單 {{{ whiptail --menu "test" 0 0 0 a1 "test a1" a2 "test a2" }}} 做一個選單,test a1 選項結果為 a1, test a2 選項結果為 a2 {{{ whiptail --menu "test" 0 0 0 a1 "test a1" a2 "test a2" 2> tmp }}} 將結果標準錯誤輸出至 tmp 內 = 使用 LWP 撰寫模擬 http/https 互動程式 = = 使用 expect 撰寫模擬 telnet/ssh 互動程式 = * 安裝 libexpect-perl 套件 {{{ # apt-get install libexpect-perl }}} * 參考 /usr/share/doc/libexpect-perl/examples/ssh.pl = 大量將檔名去除部份字串 = {{{ tgt_file="$(echo $i | sed -e "s/^pre//g")" mv $i $tgt_file }}} = reference = * http://tldp.org/LDP/abs/html/ * http://ajdiaz.wordpress.com/2008/02/09/bash-ini-parser/ BASH INI paser