Bash記号(1)

1544 ワード

#記号#きごう
  • 行の先頭は#で始まるが、後ろにはない!コメント
  • #!解釈器
  • を指定するために使用される.
  • エスケープ記号""を使用すると、#はコメントではなく、文字echo The \# here does not begin a comment
  • になります.
  • パラメータ置換echo ${PATH#*:}ここで置換規則はさらに
  • を学ぶ必要がある.
  • デジタル変換:echo $(( 2#101010))
  • ;セミコロン##
  • ;を使用すると、1行に2つ以上のコマンド
  • を書くことができる.
  • if <>;then<>文にセミコロン
  • を付ける
  • caseオプション;;
  • を終了
    case $var in
        [0-9] echo "<9";;
    

    (.)dot##
  • は、sourceコマンドが現在のbash環境でshellコマンド
  • を読み出して実行することに等しい.
    source test.sh
    
    . test.sh       //equals
    

    引用符##
    二重引用符(")と一重引用符(')は、文字列内の特殊文字、例えば#,などの解釈を阻止する役割を果たします.しかし、一重引用符はstring内のすべての特殊文字を阻止するより強く、二重引用符は大部分の特殊文字を阻止します.
    斜線/および反斜線##
  • 斜線=ファイルパス区切り記号または除算演算子
  • 反斜線は、単一文字に対する参照メカニズムである.\xは、"x",'x'「」に相当する文字xをエスケープし、通常、二重引用符と単一引用符をエスケープするために使用され、二重引用符と単一引用符は特別な意味で解釈されない.
  • 逆引用符(`)##
    コマンド置換コマンドの出力を別の変数にコピーできます.
    cp `mkdir dir` test.sh dir
    

    backディレクトリを作成し、test.hをbackディレクトリにコピーします.
    コロン:##
    1,空コマンド=nop,shell内蔵コマンドtrueと同様の役割を果たすと考えられる.
    while :                 //=while true
    do
        echo "endless loop"
    done
    

    if/thenでプレースホルダを作ることもできます
    if[$condition -gt 0]
    then :      #do nothing
    else
        ..
    
  • 変数拡張/文字列置換
  • $ : > test.sh   #empty file
    #same function as 
    cat /dev/null > test.sh