linux,shellにおけるif else ifの書き方,if elif
4783 ワード
需要説明:
shellスクリプトを書く過程でif elseの書き方を使い、突然複数のパラメータが判断される
そこでif else ifの使い方を思いつき、次のようなテストを行います.
テストプロセス:
1.次のようなテストスクリプトを作成し、複数の値の判断を行う
2.スクリプトが正常に実行されているかどうかを確認するために、スクリプトを実行します.
メモ:実行が間違っていることがわかりました.shellスクリプトではelse ifではなくelifという書き方がわかります.
3.スクリプトの変更
4.変更したスクリプトの再実行
メモ:スクリプトは正常に実行され、必要な結果が正しく出力されます.
shellスクリプトのelse ifの正しい使用方法:
ドキュメント作成時間:2018年3月14日10:54:11
shellスクリプトを書く過程でif elseの書き方を使い、突然複数のパラメータが判断される
そこでif else ifの使い方を思いつき、次のようなテストを行います.
テストプロセス:
1.次のようなテストスクリプトを作成し、複数の値の判断を行う
#!/bin/bash
if [[ $1 = 'tomcat' ]];
then
echo "Input is tomcat"
else if [[ $1 = 'redis' ]] || [[ $1 = 'zookeeper' ]];
then
echo "Input is $1"
else
echo "Input Is Error."
fi
2.スクリプトが正常に実行されているかどうかを確認するために、スクリプトを実行します.
[oracle@standby ~]$ ./ts01.sh zookeeper
./ts01.sh: line 12: syntax error: unexpected end of file
メモ:実行が間違っていることがわかりました.shellスクリプトではelse ifではなくelifという書き方がわかります.
3.スクリプトの変更
#!/bin/bash
if [[ $1 = 'tomcat' ]];
then
echo "Input is tomcat"
elif [[ $1 = 'redis' ]] || [[ $1 = 'zookeeper' ]];
then
echo "Input is $1"
else
echo "Input Is Error."
fi
4.変更したスクリプトの再実行
[oracle@standby ~]$ ./ts01.sh zookeeper
Input is zookeeper
[oracle@standby ~]$ ./ts01.sh tomcat
Input is tomcat
[oracle@standby ~]$ ./ts01.sh redis
Input is redis
[oracle@standby ~]$ ./ts01.sh mysql
Input Is Error.
メモ:スクリプトは正常に実行され、必要な結果が正しく出力されます.
shellスクリプトのelse ifの正しい使用方法:
if condition;
then
commands;
elif condition;then
commands;
else
commands;
fi
ドキュメント作成時間:2018年3月14日10:54:11