I.はじめに
プロセスでは、シェルスクリプトは、それが真実であるかどうかを判断するために、そのようなファイルが存在するかどうかを確認比較的大きな番号などの比較判断を、作るファイルがディレクトリであるかどうかを判断し、他の操作する必要があることが多い書きました。時には我々は比較式と式が実行ブリーフィングために、今日、このような加算、減算、など、など、実行するために行う必要があります。
二、シェル比較決意
図1に示すように、ファイルのステータス:
式:[ファイルパスが-e]スペースで区切ら有する
例:[-E /ルート】分析/ルートがあるかどうか
(1)-eが存在するか否かが真では、
(2)-dディレクトリでありますカタログは真である
(3)ファイルは実際のファイルであるかどうかを-f
(4)執行権限の執行機関が真であるかどうかを-x
(5)-w書かれた権限は、書き込む権利を持っているかどうかである真
(6)があるかどうか-rアクセス許可が読んだ読んでは真であります
図2に示すように、整数値の比較
[オプションNUM1をNUM2]
例:[2 -eq 2]、または変数によって[-eq $ A $ B]
(1)-eqに等しい
(2)-NEに等しくありません
(3)より大きい-gt
より(4)-geまたは等しい
(5)-lt未満
(6)-le以下
3、文字比較
[「文字列の文字列1」オプション「という文字列の文字列2」]
例:[$名==「ジム」 ]
注:オプションと文字列の両側にスペースがあります!!!!二重引用符で文字をリードしなければなりません。
(1)= = TRUEに等しい等しい
(2)!= trueは、不等0等しくない
(3)が真である空の-Z
(4)!真空でない非空-z
ロジックは、2つ以上:(論理比較決意条件)を決定する際に、4を使用して
、(1)及び論理を
複数の条件が真の[条件1]である&& && [条件2]
(2)または論理:
||より条件は、1つの条件があることができる限りであろう[条件1] || [条件2]
(3)非論理!=ネゲート
PS:二つの式:
[-LT- 5 6] .. 1 && ---- && [10 8 -gt] -a 2.使用法:[-LT-10 -gt 8 6. 5 -a]
1。 || ---- [10 -gt 8] || [5 -lt 6] 2 -o 使用:[。-LT-10 -gt 8 -0 5 6]
変数" 'およびs'を呼び出す(4)。違い
文字が同じ2つの出力、可変出力単一引用符、二重引用符を使用して変数関数である
= 10 B = 10:例の
「+ $の$ B」= num2の結果からnum2 = 10 + 10
「は$ A + $ bの「= num2の結果の$ A + $ B = num2の
三、シェル操作文法
1、オペレータ
プラス+
減算-
乗算*
追加/
モジュロ%の
増加から1 ++ I = 0;私は聞かせ ++; $ iのエコー
減らさ1 - J = 10; j--せ ; $ jのエコー
図2に示すように、操作指示\
(1)オペレータコマンドのexpr:+ - * /%の
整数変数によって提供される1つの... 2つの整数値のexprの整数、所与直接計算結果は、expr $num1 + $num2
(2)LETコマンドが
操作変数値、唯一の計算はできません出力
I = 0; I ++はLET; $ Iエコー
I = 0; I ++は、$ Iエコー
$ []または$(())式(エコー出力を使用する必要があり、操作種別とexprに類似)を使用して(3)
PS :乗算は、エスケープ文字\必要としない
記号を追加することなく、$使用変数、直接指定された変数名を、
$エコー[]
echp $(())
。1)例:= 10、B = 10は
エスケープではありません:\が
回転して意味:\
2)A = 10 B = 10
$エコー(( B))が
インクリメントされる(4)変数、およびその他の操作がデクリメント
式を簡略化:
+ =増加をそれぞれX X以来
- X = xは、各時刻にデクリメント
---- = I 2 + I> I 2 + =
I = I-2 ----> 2 I- =
I-I。1 ---- => i--
I = I 2 ----> I 2 =
I = I + 1 ----> ++ I
I = 2%I ----> I = 2%
(5)実施例:数学計算
VIM test.sh
業績:
第四に、リダイレクト(変更データ出力装置)
1、出力リダイレクション
>カバレッジ
>>追加
図2に示すように、入力をリダイレクト
<報道
<<追加
図3に示すように、エラー出力をリダイレクト
2>報道
2 >>追加
4、出力およびエラー出力をリダイレクト
&>上書き
&>追加
5は、/ dev / nullデバイスブラックホール
第五に、戦闘
(1)使用・及び||スクリプト、使用のリダイレクトを
後者の操作が行われないのに対し、正常な動作の背後に、上記&&続ける前に行います
例:「ライン上の」ピング-C 3 1.1.1.1&>を/ dev / null &&エコー(pingコマンドラインの出力は、出力に直接つながりません)
例:「ライン上の」ピング-C 3 121.201.88.88 2>を/ dev / null &&エコー(これは、pingコマンドの出力をもたらし、その結果を出力)
成功は失敗の内容を出力する出力は何もありません
pingは、コンテンツの出力ではなく、失敗しました
||動作を前述の動作は、後に行きました。以上の動作が正常に実行されている場合、後者の動作は行われません。
ping -c 2 121.201.88.89 || エコー「PCオンラインではありません」
(2)戦闘:オンラインホストかどうかを検出し
Vimのtest.sh
次の問題:シェルスクリプト-のための条件文やループ場合
るい江クラウドは公式サイトのリンクを計算する:https://www.eflycloud.com/home?from=RJ_0024