多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 服務器 > shell學習筆記之二(變量)

shell學習筆記之二(變量)

來源:程序員人生   發布時間:2015-08-04 07:36:19 閱讀次數:3082次
    是1種弱類型的變量,聲明時不需要指定其變量類型,也不需要遵守“先聲明后使用”,任什么時候候只要想用就能夠用。
    局部變量
      在某個shell中生效的變量,在其他shell中無效。可使用local內建命令來“顯示”的聲明局部變量
    環境變量
       shell腳本中,默許是全局的
    預設的環境變量:
       BASH:說明bash的全路徑
       BASH_VERSION
       CDPATH:用于快速進入目錄
       EUID:記錄當前用戶的UID
       FUNCNAME :在用戶函數體內部,記錄當前函數體的函數名
       HISTCMD:記錄下1條命令在history命令中的編號
       HISTFILE:記錄history命令的記錄文件的位置
       HISTFILESIZE
       HOSTNAME
       HOSTTYPE:主機架構
       MACHTYPE:主機類型的GNU標示
       LANG:語言環境
       PWD:記錄當前目錄
       OLDPWD:記錄之前目錄
       PATH
       PS1:
          命令提示符,默許是[u@h W]$,其中u是用戶名,h是主機名,W是當前工作目錄的basename,$是用戶UID的替換字符。
    定義和使用變量
        var=value
        注意:
            1、=兩邊沒有空格 var = value(X)
            2、變量中有空格時必須要用””或’’引發來
        取值:${var}或$var
        注意:
        1、如果變量值援用的是其他變量,則必須使用雙引號。由于單引號會禁止shell解釋特殊字符$。
        2、由于shell是弱變量特性,因此即便在腳本中沒有定義變量也是可以援用的,從而使得毛病很難找到。
        3、shell具有弱變量的特性,不需要聲明就能夠使用,可以設置變量必須先聲明再使用
            shopt -s -o nounset
    取消變量
        unset var
    取消函數
        unset function
    特殊變量
        位置參數
            $1,...,$n  當n>10時,需要寫成$(n)
            $0
            $@/$*      腳本所有的參數
            $#     腳本參數總和

        腳本或命令返回值
            $?	上1個命令的返回值,要查看某個命令的返回值必須在運行中個命令后立即查看$?
            linux中規定正常的退出命令和腳本應當以0作為其返回值,任何非0的返回值都表示命令未正確退出或正常履行
            在自動化腳本中,也能夠通過$?變量的值判斷之前命令的履行狀態,從而采取不同的動作
    數組
        shell變量是弱類型的,其實不要數組的每個元素都是相同的類型,shell中的數組對元素個數沒有限制,但是只支持1維數組
        shell對數組變量的聲明非常寬松,隨時都可以根據需要增加變量中的元素
        定義
            declare -a array
        初始化
            array[0]=0
            array[1]=1
            array[2]="hello"
              或
                declare -a array=(0 1 "hello")
                array[3]='waNG'
              或
                array=('john' 'sue')
              或
                array=([3]=3 [4]=4 [7]=4)
                    跳號賦值
        數組操作
            取值
                ${arrayname[index]}
                例:
                    1、echo ${array[0]} //取單個元素
                    2、echo ${array[@]} //取所有的元素值,得到的是以空格隔開的元素值
                    3、echo ${array[*]} //取所有的元素值,得到是1全部字符串
                    4、arr1=arr2     //這樣相當于arr1=arr2[0]
            長度
                利用@或*可以將數組擴大成列表,然后使用#來獲得數組元素的個數
                例:
                    1、echo ${#array[@]}
                    2、echo ${#array[*]}
                        通過本例也就知道了求字符串的長度,${#string}
            截取
                截取某個元素的1部份,對象可以是全部數組或某個元素
                例:
                    1、取出數組的第1,第2個元素
                        echo ${array[@]:1:2}
                    2、取出第2個元素從第0個開始連續5個字符
                        echo ${array[2]:0:5}
            連接
                conn=(${arr1} ${arr2})
            替換數組元素
                array=(${array[@]/old/new})
            取消數組或元素
                unset array[0]
                unset array
    只讀變量
        readonly RO=100
        等效于:declare -r RO=100
    變量的作用域
        1、shell變量的作用域是在本shell內,屬于本shell的全局變量,也就是從定義該變量的地方開始到shell結束,或主動使用unset刪除該變量的地方為止。
        2、在函數題內使用local關鍵字聲明了和全局變量同名的局部變量后,對該變量的操作只會影響局部變量,而不會影響與之同名的全局變量。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 小说 都市 欧美 亚洲 | 在线观看免费a∨网站 | 亚洲国产精品ⅴa在线观看 亚洲国产精品aaa一区 | 亚洲午夜伦理 | 一级黄色美女视频 | 精品一区二区三区高清免费观看 | 国产成人精品一区二区不卡 | 99精品国产成人a∨免费看 | 另类专区亚洲 | 日本视频在线观看不卡高清免费 | 色综合第一页 | 午夜免费啪在线观看视频网站 | 一区二区三区国模大胆 | 在线观看精品福利片香蕉 | 久久国产视屏 | 亚洲欧美日韩高清在线看 | 国内自拍视频网站 | 一区二区三区欧美日韩国产 | 亚洲国产亚洲片在线观看播放 | 亚洲一区二区三区四区 | 久久亚洲成人 | 中文有码在线观看 | 国产成人精品视频一区 | 国产成人综合久久 | 波多野结衣视频在线观看 | 久久毛片免费看 | 国产一区精品视频 | 日韩色视频一区二区三区亚洲 | 欧美成熟丰满老妇xxxx | 看黄网站大全 | 国产人成亚洲第一网站在线播放 | 国产欧美又粗又猛又爽老 | 国产高清国内精品福利99久久 | 亚洲国产一区二区三区综合片 | 国产精品一区91 | 91精品视频网站 | 久久精品亚洲综合 | 日本不卡在线播放 | 人成免费a级毛片 | www视频在线观看天堂 | 欧美日韩中文国产 |