Linux
 Computer >> コンピューター >  >> システム >> Linux

BashスクリプトでIFステートメントを作成する方法

if 条件文の一種である文は、指定した条件に応じてさまざまなアクションを実行できます。これにより、システムは効果的に意思決定を行うことができます。

BashスクリプトでIFステートメントを作成する方法

ifの最も単純な形式の例を次に示します。 ステートメント:

count=5
if [ $count == 5 ]
then
echo "$count"
fi

この例では、変数 count ifの一部として使用される条件を指定します 声明。 ifの前 ステートメントが実行され、変数 count 5が割り当てられます 。 if 次に、ステートメントは countの値が 5です 。その場合は、キーワード間のステートメント次に およびfi 実行されます。それ以外の場合、 ifに続くステートメント ステートメントが実行されます。

キーワードfi if 逆綴り。 bashスクリプト言語は、この規則を使用して、 ifなどの複雑な式の終わりをマークします。 ステートメントまたはケース ステートメント。

エコー ステートメントはその引数、この場合は変数 countの値を出力します 、ターミナルウィンドウに。 ifのキーワード間のコードのインデント ステートメントは読みやすさを向上させますが、必須ではありません。

BashスクリプトでIFステートメントを作成する方法

条件が真でない場合にのみコードを実行する必要がある状況では、キーワード elseを使用します if この例のように、ステートメント:

count=5
if [ $count == 5 ]
then
echo "$count"
else
echo "count is not 5"
fi

条件が$count ==5の場合 trueの場合、システムは変数 countの値を出力します 。それ以外の場合は、文字列を出力します count is not 5

BashスクリプトでIFステートメントを作成する方法

複数の条件を区別する場合は、キーワード elifを使用します 、 else ifから派生 、この例のように:

if [ $count == 5 ]
then
echo "count is five"
elif [ $count == 6 ]
then
echo "count is six"
else
echo "none of the above"
fi

カウントの場合 5です 、システムはカウントは5ですを出力します 。 カウントの場合 5ではありません しかし6 、システムはカウントは6ですを出力します 。どちらでもない場合5 また、 6 、システムは上記のいずれでもないを出力します 。

elifはいくつでも持つことができます 条項。複数のelifの例 条件は次のとおりです:

if [ $count == 5 ]
then
echo "count is five"
elif [ $count == 6 ]
then
echo "count is six"
elif [ $count == 7 ]
then
echo "count is seven"
elif [ $count == 8 ]
then
echo "count is eight"
elif [ $count == 9 ]
then
echo "count is nine"
else
echo "none of the above"
fi
BashスクリプトでIFステートメントを作成する方法

複数の条件でそのようなステートメントを書くためのよりコンパクトな方法は、caseメソッドです。 ifと同様に機能します 複数のelifを含むステートメント 条項ですが、より簡潔です。たとえば、上記のコードはケースで書き直すことができます。 次のようなステートメント:

case "$count" in
5)
echo "count is five"
;;
6)
echo "count is six"
;;
7)
echo "count is seven"
;;
8)
echo "count is eight"
;;
9)
echo "count is nine"
;;
*)
echo "none of the above"
esac
BashスクリプトでIFステートメントを作成する方法

もし 次の例のように、ステートメントはforループまたはwhileループ内でよく使用されます。

 count =1 
done =0
while [$ count -le 9]
do
sleep 1
((count ++))
if [$ count ==5]
then
continue
fi
echo "$ count"
done
echo Finished

ifをネストすることもできます ステートメント。最も単純なネストされたif ステートメントの形式は次のとおりです。if...then... else ... if ... then ... fi...fi。ただし、 if ステートメントは任意の複雑さでネストできます。

コマンドラインから渡されたパラメーターを処理するために条件を使用する方法を示す、bashスクリプトに引数を渡す方法も参照してください。

bashシェルは、forループ、whileループ、算術式などの他のプログラミング構造を提供します。


  1. ExcelでIF式/ステートメントを作成する方法

    Excelは非常に強力なスプレッドシートプログラムであるため、Excelで実行できるすべてのことを誰もが知っているとは思えません。プログラムには非常に多くの側面があり、そのようなシンプルなインターフェースにすべてをカプセル化できるのは驚くべきことです。最近、自宅でExcelを使用していて、IF関数を使用していくつかの数式を記述していることに気付きました。 特に常に多くの数値を処理する場合は、Excelで簡単なIFステートメントを記述できることが不可欠です。これは、マクロのようにそれほど複雑ではありませんが、数値の列を合計するように必ずしも直感的ではないものの1つです。 ExcelのIFス

  2. LinuxでWindowsパーティションに書き込む方法

    WindowsとLinuxをデュアルブートしている場合、LinuxからNTFSパーティションをマウントすると、書き込みできないことがあることに気付いたかもしれません。そこにあるものは何でも読むことができますが、ファイルを削除したり、名前を変更したり、変更したり、新しいファイルやディレクトリを書き込んだりすることはできません。 LinuxからWindowsパーティションに書き込めないのはなぜですか? これは、パーティションが読み取り専用モードでマウントされるために発生します。一部のファイルマネージャは、Windowsパーティションをマウントすると通知ダイアログを表示し、これについて警告します