bash

特殊符號:函數

  $$ 進程號this

  $* 和 $@ 都表示傳遞給函數或腳本的全部參數,不被雙引號(" ")包含時,都以"$1" "$2" … "$n" 的形式輸出全部參數。

  可是當它們被雙引號(" ")包含時,"$*" 會將全部的參數做爲一個總體,以"$1 $2 … $n"的形式輸出全部參數;"$@" 會將各個參數分開,以"$1" "$2" … "$n" 的形式輸出全部參數。spa

${var} 變量原本的值
${var:-word} 若是變量 var 爲空或已被刪除(unset),那麼返回 word,但不改變 var 的值。
${var:=word} 若是變量 var 爲空或已被刪除(unset),那麼返回 word,並將 var 的值設置爲 word。
${var:?message} 若是變量 var 爲空或已被刪除(unset),那麼將消息 message 送到標準錯誤輸出,能夠用來檢測變量 var 是否能夠被正常賦值。
若此替換出如今Shell腳本中,那麼腳本將中止運行。
${var:+word} 若是變量 var 被定義,那麼返回 word,但不改變 var 的值。

      echo  -e 轉義;  -E 禁止轉義進程

    `` 和 $() 等價;ip

      表達式和運算符之間要有空格, eg.  '2+2' 是錯的, '2 + 2'則是對的, 乘法要用 '\*'ci

      條件表達式要放在[]中間,而且要有空格,eg. [$a==$b] 是錯的, [ $a == $b ] 則是對的   字符串

      = 判斷兩個字符串相等; == 判斷兩個數字相等  -o  或;  -a 與; -z 字符串長度是否爲0; -n 字符串長度是否不爲0string

     

單引號

  1. str='this is a string'

單引號字符串的限制:table

  • 單引號裏的任何字符都會原樣輸出,單引號字符串中的變量是無效的;
  • 單引號字串中不能出現單引號(對單引號使用轉義符後也不行)。

雙引號

  1. your_name='qinjx'
  2. str="Hello, I know your are \"$your_name\"! \n"

雙引號的優勢:class

  • 雙引號裏能夠有變量
  • 雙引號裏能夠出現轉義字符
相關文章
相關標籤/搜索