Linux Shell編程學習筆記

來源:互聯網
上載者:User

Linux Shell編程學習筆記 登陸Shell,使用者每次登陸系統後自動載入的Shell程式大多數Linux系統採用 /bin/bash 作為預設登陸Shell/etc/shells 檔案記錄系統支援的Shell 系統可以使用的shells,記錄在/etc/shells檔案中cat /etc/shellsecho $SHELL /etc/passwd每一行的最後一項資料就是使用者登入取得的shell 編寫shell script的注意事項:1.指令是從上而下、從左而右分析並執行2.如果讀取到一個Enter符號,就嘗試開始執行該行命令3.可以使用 \[Enter] 進行分行4.# 做注釋 執行指令碼執行/home/zack/shell.sh:1. 直接命令執行: shell.sh檔案必須要具備r,x許可權2. 以bash程式執行: bash shell.sh 或 sh shell.shshell.sh 只要有r許可權即可3. 利用 source 來執行,在父程式中執行  特殊符號雙引號  允許引用,\轉義單引號  禁止引用、轉義反撇號,或者 $()  以命令輸出進行替換  前一個命令的狀態值$?    0為正常、非0異常  expr命令,計算運算式如: expr 45 - 32     expr 12 /* 11  $[]運算式,算式替換如:  echo $[45+12]      x=45;y=11;echo $[x-y]   變數遞增,遞減let 變數名++let 變數名--let 變數名+=2   隨機數echo $RANDOMecho $[RANDOM%100]  $(seq 1 100)  # seq 為 sequence(連續) 的縮寫,從1到100的連續數seq 首數 末數seq 首數 增量 末數   產生隨機字串head -n 1 /dev/urandom | md5sum | cut -b 1-8  test指令利用test指令檢測系統上某些檔案或屬性  中括弧“[]”進行判斷如: [ "$HOME" == $"MAIL" ]     [ "$yn" == "N" -o "$yn" == "n" ] -e 是否存在-f 是否是檔案-d 是否是目錄-r 讀許可權read-w 寫入權限write-x 執行許可權excution-z 是否為空白-eq 等於-ne 不等於-gt 大於-lt 小於-ge 大於等於-le 小於等於! 否    script 參數scriptname opt1  opt2  opt3  opt4  $0       $1    $2    $3    $4$# 參數個數$@ 參數的全部內容   if判斷語句if []; then  elif []; thenfi case判斷1.以case開頭,以esac結束2.每一個變數用雙引號括起來,以小括弧")"結束3.程式段落以";;"結束4.用*來代表其他值  case  $變數名稱 in <==關鍵詞為 case ,還有變數前有錢字型大小   "第一個變數內容") <==每個變數內容建議用雙引號括起來,關鍵詞則為小括弧 ) 程式段 ;; <==每個類刪結尾使用兩個連續的分號來處理!   "第二個變數內容") 程式段 ;;   *) <==最後一個變數內容都會用 * 來代表所有其他值 ,不包含第一個變數內容與第二個變數內容的其他程式執行段 exit 1 ;; esac                     在shell script 當中的 function 一定要在程式的最前面函數名稱代表示 $0 ,而後續接的參數也是以 $1, $2... 來表示的   迴圈while [ condition ]  <==中括弧內的狀態就是判斷式do  <==do 是迴圈的開始!程式段落done  <==done 是迴圈的結束 until [ condition ]do程式段落done for var in con1 con2 con3 ...do程式段done for (( 初始值; 限制值; 執行步階 ))do程式段done  sh [-nvx] scripts.sh選項參數:-n  :不要執行 script,僅查詢文法的問題;-v  :在執行 sccript 前,先將 scripts 的內容輸出到螢幕上;-x  :將使用到的 script 內容顯示到螢幕上,這是很有用的參數!  可使用 sh -x script.sh 來進行程式的 debug 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.