シェルスクリプトの基礎 - 構文

変数

[ルート@ T_FOOT-ホーム2-ZZZ01〜]#A =こんにちは
#エコー$ A [T_FOOT-ホーム2-ZZZ01〜@ルート] 
ハロー
#$ {} _worldエコー[T_FOOT-ホーム2-ZZZ01〜@ルート]は
hello_worldを

実際には、$ $ {A}と同様の機能が、文字列変数は、コンピュータとスプライシングを区別することができないスプライシング文字列を防止するために、} {追加する必要があります

コマンドの2つの抽出出力

[ルート@ T_FOOT-ホーム2-ZZZ01〜]#のPWD 
/ルート
[ルート@ T_FOOT-ホーム2-ZZZ01〜]#エコー$(PWD)
/ルート

割り当ての三つの条件($ {VAR: - / = / / +文字列?})

1 $ {VAR:-string}手段ストリングのvarが空の場合、出力値、varが空でない場合、VARの、出力値

2 $ {VAR:=文字列} varが空である場合、値を参照して出力列、およびVARに割り当てられた文字列値、VaRの値が空でない場合は、VARの次に出力

3 $ {VAR:?文字列} varが空の場合の手段は、エラーメッセージが出力-bashある:VAR:stringは、VARの値は、VARの、出力空でない場合

4 $ {VAR:+文字列}と$ {varが:-string}逆に、varが空の場合、空でない場合、文字列の値を印刷し、VARをVARの値を出力

四$((EXP))

[ルート@ T_FOOT-ホーム2-ZZZ01〜]#エコー$((3 + 2))
5

ファイブパターンマッチングの交換

右の一致から$ {ヴァー%のパターン}、$ {VAR %%パターン}

一致するように左から$ {ヴァー位パターン}、$ {VAR ##パターン}

$ {ヴァー%のパターン}、$ {VAR位パターンは}最短を表し、停止にマッチング

$ {Varの%%パターン}、$ {VAR ##パターン}は最長一致を表します

ワイルドカード

*:ゼロ個以上の任意の文字の

?:ゼロまたは1つの文字

[...]:文字を示すために一致するブラケットが

[...!]:括弧の中の文字と一致しないこと

= a.tar.gz F#[T_FOOT-ホーム2-ZZZ01〜@ルート] 
#は{*。## F} $エコー[T_FOOT-ホーム2-ZZZ01〜は@ルート] 
GZを
#エコー[T_FOOT-ホーム2-ZZZ01〜@ルート] $ {F#*} 
のtar.gz 
[ルートT_FOOT-ホーム2-ZZZ01〜@]#は、$エコー{%% Fを。*} 
[ルートT_FOOT-ホーム2-ZZZ01〜@]#は、$エコー{%Fを。*} 
A 。タール  

シックスバイトを抽出します

[ルート@ T_FOOT-ホーム2-ZZZ01〜]は#は{:2:0 F} $エコー

添字fは、後続のバイト0バイト2からである取得します

[ルート@ T_FOOT-ホーム2-ZZZ01〜]#エコー$ {F:1} 
は.tar.gz

添え字Fを抽出した後、すべてのバイトに1バイトであります

セブン文字列置換

${file/dir/path}:最初のディレクトリパスを交換してください

${file//dir/path}:すべてのディレクトリパスを交換してください

${#var}:変数の値を計算する${var}長さを

8つの出力のリダイレクト

エコーの「Hello World」>>一時ファイルハロー世界、それをプリントアウトし、その後、ファイルへの一時ファイルをコピーします

ナイン入力のリダイレクト

トイレ<<フラグ

その本質は、出力するコマンドをコンテンツとして入力され、キャッシュされました

テンプロセス制御

if-then文の

XX1場合、

 xx1s

elifのXX2その後、

 xx2s

そうしないと 

 xx3s

されます

セブンイレブンケース

ケース... ESAC

以下のための十二

サーティーンながら、

フォーティーンまで

フィフティーン休憩して続行

シックスティーンtestコマンド

接続された参照  https://blog.csdn.net/aimarrow/article/details/80870180

おすすめ

転載: www.cnblogs.com/freeht/p/12133864.html