linux,shellにおけるif else ifの書き方,if elif

4783 ワード

需要説明:
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