Shell 學習筆記

#表示該腳本以bash方式運行
1. #!/bin/bash

#接受輸入並將值賦給變量
2. read 變量名     
          
#使用變量
3. ${變量名} 

#此變量只讀
4. readonly 變量名          

#刪除此變量, 不能刪除只讀變量
5. unset 變量名

#表示當前shell的pid
6. $$

#(Ess下方鍵) 命令替換, 將執行結果保存
7. var=`command`

#計算
8. var=`expr 2+2`            

#註釋
9. #
10. 字符串
     a. 'string'                         #單引號的字符串會原樣輸出,且裏面的變量無效,且單引號內不能再出現單引號,轉義也不行
     b. "string"                         #雙引號字的符串,能夠有變量,能夠有轉義符
     c. greeting                         #鏈接字符串 
     d. ${#string}                       #獲取字符中長度
     e. ${string:1}/${string1:2}         #截取字符串
     f. `expr index ${string} str`       #查找字符串 str,返回索引
11. 數組
     a. 用 "( )" 定義, 用 "空格" 符號來分隔元素
     b. array[0]="a"                        #定義指定下標的值, 下標能夠不連續, 下標沒有上限
     c. ${array[0]}                          #獲取指定下標的值
     d. ${array[*]}/${array[@]}           #獲取數組全部元素
     e. ${#array[*]}/${#array[@]}       #獲取數組長度
     d. ${#array[n]}                         #獲取數組指定下標的元素的長度
12. if...else
     a. if [ express ]  #1. [ 兩邊必須有空格 ], 等價於 if test express then command fi
     then        #2. [ $a = $b] ,判斷符之間也必須有空格
      command
        if
     b. if [ express ]
     then
      command1
        else
      command2
        fi
     c. if [ express ]
        then
      command1
        elif
        then
      command2
        else
      command3
        fi
13. case  in
  case express in  #表達式能夠是變量或常量, 後面跟 in 關鍵字
  match1)       #匹配值後跟 )
    command1    #匹配成功後執行命令
  ;;          #跳出, 至關於 break
  macth2)
    command2
  ;;
  *)          #默認匹配值, 至關於 default
    command5
  ;;
  esac         #結束符
14. for
    for var in exp1 exp2 exp3  #表達式用" "(空格)分隔
    do
        command
    done
15. while
  whil [ express ]  #表達式爲 true 繼續執行
  do
    command
  done
16. until                                   
  unitl [ express ]  #表達式爲 false 繼續執行
  do
    command
  done
17. break / continue  #跳出 或 繼續, 後面均可以跟一個整數, 表示到第幾層循環
18. 函數
  a. function func_name(){  #定義函數, function可省略
      command
    }              #只能返回整數數字, 若是沒有指定返回值, 會將最後一條命令執行結果返回
  b. func_name          #調用函數, 不須要加 ( ) , 函數要在調用前定義
  c. $1 ... $9 ${10}      #取參數, 參數個數超過10後須要加 { }
19. 輸入/出重定向
  a. < 輸入重定向
  b. > 輸出重定向
20. 引用其它文件
  a. . fileName
  b. source fileName

 

本文版權歸做者和博客園共有,來源網址:http://www.cnblogs.com/code-boy/歡迎各位轉載,可是未經做者本人贊成,轉載文章以後必須在文章頁面明顯位置給出做者和原文鏈接,不然保留追究法律責任的權利。java

相關文章
相關標籤/搜索