シェルプログラミング声明(簡単な電卓スクリプト)の場合

はじめに(if文の3つの基本タイプ)

if文の適切な使用により、簡単なシェルスクリプトでは(もし......そう......)、シェルスクリプトは、完全なさまざまな管理タスクに異なる条件に応じて、特定の「常識」を持つことができる基本的な文の構造であれば三種類。

if文の単一の分岐

シングル分岐構造については、「条件が満たされた」場合にのみ対応するコードを実行するか、何もしません。
ここに画像を挿入説明

1.1構文
if 条件测试操作
then
	命令序列 
fi
単一手足の1.2応用例

例えば

(1)は、シェルスクリプトjiaoben.shを作成します。

[root@localhost opt]# touch jiaoben.sh

LSと(2)の表示optディレクトリには、フォルダを発見しました。

[root@localhost opt]# ls
jiaoben.sh  rh
[root@localhost opt]# vi jiaoben.sh 

あなたのフォルダ全くAAAは、AAA optディレクトリのフォルダを作成していない場合は、次の文はjiaoben.shで書かれている場合(3)。

#!/bin/bash
if [ ! -e "/opt/aaa/" ]
        then
                mkdir /opt/aaa
fi

(4)スクリプトを実行するには、optディレクトリは、AAAフォルダが作成されていた参照してください。

[root@localhost opt]# source jiaoben.sh 
[root@localhost opt]# ls 
aaa jiaoben.sh  rh
[root@localhost opt]# 

第二に、2分岐if文

デュアル分岐構造については、「条件が満たされていない」とき、そうでなければ、別の操作を行います。
ここに画像を挿入説明

2.1構文
if 条件测试操作
then 命令序列1
else 命令序列2
fi
分岐の2.2応用例

例えば

上記jiaoben.sh(1)if文我々はスクリプトを書く:あなたはオプトないAAAファイルディレクトリのフォルダを行う場合は、すでにAAABBBフォルダを作成後、オプトディレクトリ内のファイルを持っている場合は、フォルダAAA、AAAを作成します。

#!/bin/bash
if [ ! -e "/opt/aaa/" ]
        then
                mkdir /opt/bbb
        else
                mkdir  /opt/aaabbb
fi

LSでディレクトリを表示することを選ぶと(2)は、jiaoben.shスクリプトを実行し、何のフォルダを発見した、AAAを作成したフォルダを見つけ、AAAフォルダが既に存在する場合、スクリプトを実行し、AAABBBフォルダを作成しました。

[root@localhost opt]# ls
jiaoben.sh  rh
[root@localhost opt]# source jiaoben.sh 
[root@localhost opt]# ls
aaa  jiaoben.sh  rh
[root@localhost opt]# source jiaoben.sh 
[root@localhost opt]# ls
aaa  aaabbb jiaoben.sh  rh
[root@localhost opt]# 

第三に、多分岐if文

elifとなら状態の入れ子にされた状態の、すなわち複数の多分岐構造のため。これらは相互に排他的な複数の条件に応じて異なる操作を実行することができます。
ここに画像を挿入説明

3.1構文
if 条件测试操作1
then 命令序列1
elif 条件测试操作2
then 命令序列2
else 
命令序列3
fi
3.2アプリケーション例多分岐

例えば

(1)単純な計算書き込ま

#!/bin/bash
echo "----------------------------------"
aaa=欢迎使用XX的计算器
echo  "$aaa"
echo "----------------------------------"

  read -p  "请输入第一个整数:"  bbb
  read -p  "请输入你需要进行的运算,加法(+),减法(-),乘发(x),除法(/),取余(%):"  ccc
  read -p  "请输入第二个整数: " ddd
if [ $ccc = "+" ]
   then
       num=`expr $bbb + $ddd`
   echo  "$bbb+$ddd结果为$num"

elif [ $ccc = "-" ]
   then
       num=`expr $bbb - $ddd`

  echo  "$bbb-$ddd结果为$num"


elif [ $ccc = "x" ]
        then
                num=`expr $bbb \* $ddd`
   echo  "$bbb x $ddd 结果为$num"


elif [ $ccc = "/" ]
        then
                num=`expr $bbb / $ddd`
   echo  "$bbb / ddd结果为$num"

elif [ $ccc = "%" ]
        then
                num=`expr $bbb % $ddd`
  echo   "$bbb % $ddd结果为$num"
else 
   echo "请输入正确的运算"
fi

(2)スクリプトを実行
ここに画像を挿入説明

注意事項

1は、シェルで、当時と場合は、内部を入力したい場合は、あなたがそれらを分離するために、セミコロンを使用する必要が同じ行に別の声明です。

図2は、[]は、音符「[」と前「」後にスペースを含める必要があり、試験条件を示します。

3.あなたは、単に使用している場合>や<数、システムが「\」ターン意味での前のターンとシンボルを追加する必要があり、正しい結果を表示することは可能であるが、出力または入力のリダイレクトとして考えられているが、実際に間違っていることになります。

公開された43元の記事 ウォン称賛56 ビュー7923

おすすめ

転載: blog.csdn.net/weixin_42953006/article/details/103266154