Natural

           

          BASH中的特殊符號

          1. $變量
          變量不需先聲明,使用$引用變量的值
            x=12         ##等號左右不能有空格        
            echo $x
          一些重要變量
          $HOME 當前用戶主目錄
          $PATH 搜索目錄
          $PS1 命令提示符
          $PS2 二級提示符
          $IFS shell輸入分隔符,通常為空格、制表符和換行符
          $# 參數個數
          $0 shell腳本名字
          $1,$2... 第1,2個參數
          $* 所有參數,用IFS中的第一個字符分隔
          $@ 類似$*,但不使用IFS字符分隔
          $?  前條命令的退出狀態0(true) 1(false)
          2. 單引號 ( '' )
          當shell碰到第一個單引號時,它忽略掉其后直到右引號的所有特殊字符
          3. 雙引號 ( " " )
          雙引號作用與單引號類似,區別在于它沒有那么嚴格。單引號告訴shell忽略所有特殊字符,
          而雙引號中的三種特殊字符不被忽略:$,\,` ,即雙引號會解釋字符串的特別意思,而單引號直接使用字符串。
          4. 反引號(``)或$()
          命令替換,$()格式受到POSIX標準支持,$(command),執行命令并捕獲其輸出,可以放到變量中如下面的expr例子
          5. (( )) 或let
          算術賦值,用來給表達式賦值并返回一個狀態碼。利用算術賦值可以進行賦值運算及邏輯比較
          ((x=x+1))           ## x=$((x+1))
          if ((30 < age && age < 60)); then
          6. $(( ))
          算術擴展,用于顯示表達式的值或者把值賦給一個變量,可替代expr命令,比expr更高效.
           x=$(($x+1))          ##$(( ))中單個變量引用$符可選,即可寫成 x=$((x+1))
           x=$(expr $x + 1)  ##加號左右要有空格 expr $x + 1 執行結果捕獲其輸出放到變量
          7. [ ] 或test
            if [ -f fred.c ]  ##要有空格
            if [ 30 -lt $age -a $age -lt 60 ]; then
          8. [[ ]]
          作用與[ ]類似,操作符不同,與C語言操作一致
          if [[ 30 < $age && $age < 60 ]]; then   ##要有空格,變量前要有$
          9. && || 及!
            statement1 && statement2 && statement3,上一條命令返回true才執行下一條;||類似
            if [ -f fred.c ] && echo 'exists' && [ -f fred.h ]   ## echo 返回的是true
           
          10. ( ) 子shell
          11. : 空命令,返回true
          12.  << Here文檔
          bash中命令行擴展順序
          (1)花括號擴展  rm {main,temp,test}.c
          (2)代字符擴展 echo ~
          (3)參數擴展和變量擴展 $a
          (4)算術擴展  x=$(($x+1))
          (5)命令替換 $(command)
          (6)分詞 IFS
          (7)路徑名
          (8)處理替換

          posted on 2012-11-29 21:36 此號已被刪 閱讀(1031) 評論(0)  編輯  收藏 所屬分類: Linux

          導航

          統計

          常用鏈接

          留言簿(8)

          隨筆分類(83)

          隨筆檔案(78)

          文章檔案(2)

          相冊

          收藏夾(7)

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 平湖市| 和政县| 新巴尔虎右旗| 简阳市| 泗水县| 长宁县| 乐东| 凉山| 泽州县| 吴忠市| 蕉岭县| 南江县| 临海市| 渭源县| 华坪县| 正阳县| 浑源县| 黄陵县| 怀远县| 邻水| 逊克县| 织金县| 什邡市| 嘉义县| 临沧市| 民乐县| 明溪县| 竹山县| 县级市| 滦平县| 宿州市| 遂川县| 林周县| 尼勒克县| 松溪县| 乌拉特前旗| 石城县| 鄢陵县| 政和县| 广宗县| 平昌县|