shell script 程式碼小範例與$@ $# $*變數的說明…等等

簡單小範例for無限次讀取

基本無限迴圈去讀取資料, 間隔時間為sleep 1

變數到底是什麼意思, 稍作筆記如下


$0 $1 $2 $3 $4 $@ $# $*
引用自鳥哥:

如何取出執行檔名與目錄字串

$(basename ${BASH_SOURCE[0]})是什麼意思 …
取出第0個參數的方法, 有時候$0會出錯
最好的方式就是用 ${BASH_SOURCE[0]} 或 ${BASH_SOURCE}
然後前一個指令basename是啥呢? 看看介紹吧

寫個小範例驗證一下
$vim tt.sh

執行與輸出如下:

jamie@jamie-pc:~$ ./tt.sh
./tt.sh
./tt.sh
.
tt.sh


jamie@jamie-pc:~$ ~/tt.sh
/home/jamie/tt.sh
/home/jamie/tt.sh
/home/jamie
tt.sh


jamie@jamie-pc:~$ /home/jamie/tt.sh
/home/jamie/tt.sh
/home/jamie/tt.sh
/home/jamie
tt.sh


如何轉換英語字母大小寫

執行與輸出

$ ./tt.sh abc1 def ggh
Upper:ABC1 DEF GGH
Lower:abc1 def ggh

如何用DEBUG控制echo輸出(或其他動作)

可以在echo前面加入DEBUG關鍵字, 並且要在script前頭寫一個DEBUG()函式
而函式裡面用一變數 $_DEBUG” 作控制, 如果 _DEBUG=on 成立才執行後面指令 $@

使用方法有二:

1. 在執行指令時, 前頭加上 _DEBUG=on 即可
# _DEBUG=on ./script.sh
2. 直接在script.sh裡面, 寫 export _DEBUG=”on” 表明
export _DEBUG=”on”

發表迴響

Copy Protected by Chetan's WP-Copyprotect.