<noframes id="ndrzl"><form id="ndrzl"><nobr id="ndrzl"></nobr></form>

<sub id="ndrzl"><listing id="ndrzl"><listing id="ndrzl"></listing></listing></sub><noframes id="ndrzl">

<address id="ndrzl"><nobr id="ndrzl"><progress id="ndrzl"></progress></nobr></address>
<address id="ndrzl"><form id="ndrzl"></form></address>

<listing id="ndrzl"></listing>

<noframes id="ndrzl">

    <address id="ndrzl"></address>
    專注IT教育14年 全國咨詢/投訴熱線:400-8080-105
    動力節點LOGO圖
    始于2009,一家只教授Java的培訓機構
    首頁 hot資訊 Shell腳本語法的規則

    Shell腳本語法的規則

    更新時間:2022-11-25 09:44:21 來源:動力節點 瀏覽71次

    變量

    1.變量的定義和使用

    shell腳本中定義變量名不加$符,中間不能有空格和標點符號,可以有下劃線,不能有shell關鍵字(關鍵字可以使用help查看)

    使用一個定義過的變量,只要在變量名前面加美元符號即可,如:

    your_name="zangsanfeng"
    echo $your_name  或者 echo ${your_name}    
    { }可加可不加,加花括號是為了幫助解釋器識別變量的邊界,如:
    for name in tom amy alice tony; do
        echo "this is ${name }"
    done

    2.變量的只讀性

    需用readonly關鍵字申明,如:

    name="zhangsanfeng"
    readonly name

    設置只讀后,變量值不能被重新賦值

    3.變量的刪除

    需用unset關鍵字申明,如:

    name="wangwu"
    unset name

    注:若name變量被申明為只讀,則不能被unset掉

    傳遞參數

    1.參數實例

    如執行 ./test.bash 11 22 33表示向test.bash腳本傳遞了三個參數,分別為11,22,33,在腳本中獲取的時候分別用$1,$2,$3獲取,$0指代的是執行的文件名

    2.幾個特殊字符用來處理參數:

    參數處理說明

    $#傳遞到腳本的參數個數

    $*以一個單字符串顯示所有向腳本傳遞的參數。

    如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有參數。

    $$腳本運行的當前進程ID號

    $!后臺運行的最后一個進程的ID號

    $@與$*相同,但是使用時加引號,并在引號中返回每個參數。

    如"$@"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有參數。

    $-顯示Shell使用的當前選項,與set命令功能相同。

    $?顯示最后命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。

    $* 與 $@ 區別:

    相同點:都是引用所有參數。

    不同點:只有在雙引號中體現出來。假設在腳本運行時寫了三個參數 11、22、33,,則 " * " 等價于 "11 22 33"(傳遞了一個參數),而 "@" 等價于 "11" "22" "33"(傳遞了三個參數)

    for i in "$*"; do
      echo $i
    done
    for i in "$@"; do
      echo $i
    done

    輸出的結果是:

    11 22 33
    11
    22
    33

    數組

    1.數組的定義

    bash只支持一維數組,不支持多維數組,數組下標亦是從0開始,元素用空格分開,如

    my_array=("haha" 11 22 "fff" 98)

    也可以使用下標定義數組,如:

    my_array[0]=value0;
    my_array[1]=value1;
    my_array[2]=value2;

    2.數組的讀取

    ${my_array[index]}

    3.獲取數組全部元素

    ${my_array[*]} 或者 ${my_array[@]}

    4.獲取數組的長度

    ${#my_array[*]} 或者 ${#my_array[@]}

     

    提交申請后,顧問老師會電話與您溝通安排學習

    免費課程推薦 >>
    技術文檔推薦 >>
    返回頂部
    av无码天堂热久久
    <noframes id="ndrzl"><form id="ndrzl"><nobr id="ndrzl"></nobr></form>

    <sub id="ndrzl"><listing id="ndrzl"><listing id="ndrzl"></listing></listing></sub><noframes id="ndrzl">

    <address id="ndrzl"><nobr id="ndrzl"><progress id="ndrzl"></progress></nobr></address>
    <address id="ndrzl"><form id="ndrzl"></form></address>

    <listing id="ndrzl"></listing>

    <noframes id="ndrzl">

      <address id="ndrzl"></address>