天天看點

bash 腳本程式設計3 條件判斷和算術運算 (筆記)

小練習:  寫一個腳本

判斷系統上是否有使用者的預設shell 是 bash的

如果有的話就顯示有多少這樣的使用者 否則就顯示無此類使用者

#!/bin/bash

#

grep "bash$" /etc/passwd &> /devnull

CODE=$?

if [ $CODE -eq 0  ]; then

        USERNU=`grep "bash$" /etc/passwd | wc -l `

        echo "The number of bash shell user is $USERNU" 英語不怎麼樣不知道對不對呵呵

else

        echo "The system is not user of bash shell."    英語不怎麼樣不知道對不對呵呵

fi

腳本執行結果

[root@localhost ~]# ./first.sh

The number of bash shell user is 8

練習二:

  1. 檢視系統是否有使用者的預設的shell是bash
  2. 有就顯示其中一個,沒有則顯示系統上沒有。

腳本寫法,和上個腳本相似

        USERNU=`grep "bash$" /etc/passwd | head -n1 | cut -d: -f1 `

        echo "$USERNU is one of bash shell users."

        echo "The system is not user of bash shell."

腳本執行結果:

[root@localhost ~]#

root is one of bash shell users.

[root@localhost ~]# 

如何在shell中進行算術運算(注:預設shell會把變量當成字元不可進行算術運算)

例:

[root@localhost ~]# A=3

[root@localhost ~]# B=6

[root@localhost ~]# C=$A+$B

[root@localhost ~]# echo $C

3+6

如果想讓其做算術運算則:

第一種方式: 使用 let 加要進行運算的變量 

[root@localhost ~]# let C=$A+$B

9

第二種方式: 使用 $[算術表達式]

[root@localhost ~]# A=25

[root@localhost ~]# B=88

[root@localhost ~]# C=$[$A+$B]

113

第三種方式:使用 $((算術表達式))

[root@localhost ~]# A=222

[root@localhost ~]# B=381

[root@localhost ~]# C=$(($A+$B))

603

[root@localhost ~]#