close
Shell Scripts(1) - 基本介紹、變數、參數、偵錯功能變數:指定變數值的方法為 變數=值 。規定等號的左右二邊是沒有空白的,而如果值裡面為含有空白的字串,必需加上雙引號。取值的方法為 $變數。引號:一般來說如果變數裡沒有空白,那沒有使用雙引號也可以。在取值賣房子時如果是 雙引號"$變數" 和 單引號'$變數',是不一樣的結果。而如果使用 \ 符號,是取消$符號的特別意義。一般來說,字串都是使用雙引號。環境變數:下面列出一些主要的環境變數$HOME目前使用者的家目錄 $PATH搜尋命令的路徑(各目錄以冒號區裝潢隔) $PS1第一層的命令提示符號 $PS2第二層的命令提示符號 $IFS剸入欄位的區隔符號 $0(零)shell script的名稱$#傳入參數的數量$$shell scirpt的處理程式ID參數:$1,$2,...scirpt的參數$*所有參數的串列,以IFS變數的第一個字作區隔$@$*的變數,它不使用IFS變數偵錯功住商房屋能:Shell有提供偵錯功能,執行時加上 -v,可以查看shell的執行流程; 加上 -x ,可以查看每一個執行步驟。example:$sh -v file.sh$sh -x file.sh又或在檔案的第一行加上去也可以:#!bin/sh -xv一個簡單的範例:我們建造一個first.sh,然後輸入以下內容。#!/bin/sh# 帛琉This is the first shell scriptvar="Hello, shell"echo ------ variable------ echo $varecho "$var"echo '$var'echo \$varecho ------ parameter ------ echo "program:[$0] parameter1:[$1] parameter2:[$2]"echo 房屋買賣"The user's home directory is [$HOME]"echo "The parameter list was [$*]"echo "The parameter list was [$@]"echo "Set IFS='_'"IFS='_'echo "The parameter list was 開幕活動[$*]"echo "The parameter list was [$@]"unset IFSexit 0說明:第一行是告訴系統這個檔案為scirpt檔案的程式,系統並非是以.sh的副檔名來辨認的,實際上,unix很少會以副檔名來辨認檔案。第二行是註解。接著我們宣告一個變數,展示出引號對於變數的花蓮民宿影響。之後在參數,我們會印出參數的內容、家目錄和程式名稱。接著設定IFS,從這裡可以看出$@是不受IFS的影響的。最後傳回0的結束碼,代表成功。執行結果:./first.sh input1 input2------ variable------Hello, shellHello, shell$var$var------ parameter 酒店兼職------program:[./abc.sh] parameter1:[input1] parameter2:[input2]The user's home directory is [/root]The parameter list was [input1 input2]The parameter list was [input1 input2]Set IFS='_'The parameter list was 烤肉食材[input1_input2]The parameter list was [input1 input2]如果執行時,出現權限不符時,那是因為預設建立的shell script是不可執行的,請執行下面這個命令:chmod +x file.sh變更為可執行
.msgcontent .wsharing ul li { text-indent: 0; }
分享
房屋貸款
Facebook
Plurk
YAHOO!
.msgcontent .wsharing ul li { text-indent: 0; }
分享
房屋貸款
Plurk
YAHOO!
全站熱搜
留言列表