初學Linux--shell

來源:互聯網
上載者:User

標籤:程式設計語言   local   export   shell   linux-shell   

                                    Shell

    shell屬弱類型程式設計語言。

    強弱的區分:

        強:變數在使用前,必須事先聲明,甚至還需要初始

        弱:變數使用時聲明,甚至部區分類型

     bash變數類型
         環境變數
         本地變數(局部變數)
         位置變數
         特殊變數 

本地變數:
     bash:
         VATNAME=VALUE:範圍為整個bash進程
局部變數:
         local varname=value;範圍為當前程式碼片段
環境變數:範圍為當前shell進程及其子進程
     export varname=value
     name=value
     export name
      ”匯出“

位置變數:
         $1,$2... 
         shift

         如:
            [[email protected] shell]# cat shift.sh
                #!/bin/bash
                echo $1
                shift
                echo $1
                shift
                echo $1
            [[email protected] shell]#
  
            [[email protected] shell]# ./shift.sh  1 2 3
                        1
                        2
                        3    
            [ [email protected] shell]#

特殊變數:
     1. $?上一個命令的執行狀態傳回值
             程式執行,可能有兩類傳回值
             程式執行結果
             程式狀態傳回碼(0-255)
             0:正確執行
             1-255:錯誤執行  1,2,127系統預留
 2. $# 參數的個數
 3. $* 參數列表
 4. [email protected] 參數列表

  /dev/null 軟裝置 bit bucket資料黑洞
撤銷變數
    unset VARNAME
查看當前shell中變數
     set
查看當前shell中的環境變數
        set
        env
        export

指令碼:命令的堆砌,按實際需要,結合命令流程式控制制機制實現的來源程式
    shebang:魔數
    #!/bin/bash
    #開頭為注釋行,不執行

指令碼在執行時會啟動一個子shell進程
     命令列中啟動的指令碼會繼承當前shell環境變數
     系統自動執行的腳步(非命令列啟動)

引用變數:範圍為當前shell進程及其子進程

     ${varname}
     name=pao;
     echo “THe hello word ${name}”,

條件判斷
 如果使用者不存在
  添加使用者,給密碼並顯示添加成功
 否則
  顯示如果已經存在,沒有添加
bash中如何?條件判斷?
條件廁所類型
 整數測試
 字元測試
 檔案測試
條件測試的運算式:
 【 expression 】
 【【expression】】
 test expression
整數比較:
 -eq:測試兩個整數是否相等 如; $a -eq $b
 -ne:測試兩個整數是否相等,不等為真,,相等為假
 -gt:測試一個數是否大於另一個數;大於為真,否則為假
 -lt:測試一個數是否小與另一個數;小與為真,否則為假;
 -ge:大於或等於
 -le:小於或等於
檔案測試
 -e 檔案 測試檔案是否存在
 -f 檔案 測試檔案是否為普通檔案
 -d 檔案 測試知道路徑是否為目錄
 -r 檔案 測試目前使用者對指定檔案是否有讀取許可權
 -w 檔案 測試目前使用者對指定檔案是否有寫入權限
 -x 檔案 測試目前使用者對指定檔案是否有可執行許可權
 【 -e /etc/inittab 】

命令間的邏輯關係:
     邏輯與:&&
              第一個條件為假時,第二個條件不用在判斷,最終結果已經有
              第一個條件為真時,第二條件必須要判斷
 邏輯或:||

條件判斷,控制結構
單分支if語句

        if  判斷條件;then
             statement1
             statement2
                     ....
         fi 
 
雙分支if語句
        if 判斷語句;then
             statement1
             statement2
                     ....
                    else 
                             statement3
                             statement4
                        ......
          fi

多分支if語句
             if    判斷條件;then
                     statement1
                         ......
                  elif    判斷條件2;then
                         statement2
                                 ......
                             else 
                                 ......
                fi


測試指令碼是否有語法錯誤
    bash -n 指令檔
指令碼逐步執行
    bash -x 指令檔
定義指令碼退出狀態代碼
        exit:退出指令碼
         exit #
           如果指令碼沒有明確定義退出狀態代碼,那麼,最後執行的一條命令的退出碼即為指令碼的退出碼

shell中如何進行算術運算
     a=3
     b=6
 1. let 算術運算運算式   算術運算命令
         let =c=$a+$b
 2. $(算術運算運算式)
          d=$[$a+$b]
 3. $((算術運算運算式))
          d=$(($a+$b))
 4. expr命令 算術運算運算式,運算式中各運算元及運算子之間要有空格,而且要使用命令引用
         c= `expr $a + $b`    註:‘  ’  為反單引號``


本文出自 “Linux營運技術交流” 部落格,請務必保留此出處http://linuxzhang.blog.51cto.com/2580498/1657289

初學Linux--shell

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.