01-10 Linux-bashプログラミング

2409 ワード

変数#ヘンスウ#
命名規則:
  • は英字、数字、下線のみを使用でき、最初の文字は数字で始まる
  • は使用できません.
  • の間にスペースはありません.下線
  • を使用できます.
  • 句読点
  • は使用できません.
  • bashのキーワードは使用できません(helpコマンドで予約キーワードを表示できます)
  • 変数の定義と使用:
    #       
    [root@xiaojw ~]# name="leo"
    [root@xiaojw ~]# echo $name
    leo
    #       :        
    [root@xiaojw ~]# name=tom
    [root@xiaojw ~]# readonly name
    [root@xiaojw ~]# unset name
    -bash: unset: name: cannot unset: readonly variable
    #     
    [root@xiaojw ~]# age=18
    [root@xiaojw ~]# echo $age
    18
    [root@xiaojw ~]# unset age
    [root@xiaojw ~]# echo $age

    変数のタイプ
  • 文字列:name="leo"
  • 接続文字列:greeting="hello,"$name"!"
  • 配列:array=(v1, v2, v3)
  • 配列の値をとる:value=${array}[n]
  • 単独付与:array[n]=value

  • じょうけんぶんきif
    if condition
    then
        command1
        command2
        ……
    fi

    ループfor
    for var in     ;
    do
        command1
        command2
        ……
    done
    while
    while condition;
    do
        command
    done

    bashの基本的な使用read
  • は、入力内部コマンド
  • を端末またはファイルから読み出すためのものである.
  • 行全体の入力
  • を読み出す.
  • 各行末尾の改行文字は
  • に読み込まれない.
    次の操作を行います.
  • 標準入力から入力を読み出す変数read var
  • に値を付与する.
  • 標準入力から複数のコンテンツを読み出すread var1 var2 var3
  • .
  • 変数を指定しない(デフォルトはREPLAYに割り当てられます)read
  • スクリプトパラメータの転送
  • $0:スクリプト名
  • $1-$n:取得パラメータ
  • $#:スクリプトに渡されるパラメータの個数
  • $$:スクリプト実行の現在のプロセスid番号
  • $*:スクリプトに渡されたすべてのパラメータ
  • が1つの単一文字列で表示されます.
  • $?:最後のコマンドの終了状態を表示します.0はエラーがないことを示し、その他の値はエラーがあることを示します.
    さんじゅつえんざん
    [root@xiaojw ~]# a=10
    [root@xiaojw ~]# b=20
    #   
    [root@xiaojw ~]# expr $a + $b
    30
    #   
    [root@xiaojw ~]# expr $a - $b
    -10
    #  
    [root@xiaojw ~]# expr $a * $b
    200
    #   ;         
    [root@xiaojw ~]# expr $a / $b
    0
    #   
    [root@xiaojw ~]# expr $a % $b
    10
    #   
    a=$b
    #   
    [ $a == $b ]
    #    
    [ $a != $b ]
    # -eq:    
    [ $a -eq $b ]
    # -ne:     
    [ $a -ne $b ]
    # -gt:            
    [ $a -gt $b ]
    # -lt:      
    [ $a -lt $b ]
    # -ge:        
    [ $a -ge $b ]
    # -le:        
    [ $a -le $b ]

    学習資料
    チェン一峰-Bashスクリプトチュートリアル