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. 有就顯示其中一個,沒有則顯示系統上沒有。

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

#!/bin/bash
#
grep "bash$" /etc/passwd &> /devnull
CODE=$?

if [ $CODE -eq 0  ]; then
        USERNU=`grep "bash$" /etc/passwd | head -n1 | cut -d: -f1 `
        echo "$USERNU is one of bash shell users."
else
        echo "The system is not user of bash shell."
fi

腳本執行結果:

[root@localhost ~]#
[root@localhost ~]# ./first.sh
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
[root@localhost ~]#

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


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

例:

[root@localhost ~]# A=3
[root@localhost ~]# B=6

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


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

例:

[root@localhost ~]# A=25
[root@localhost ~]# B=88
[root@localhost ~]# C=$[$A+$B]
[root@localhost ~]# echo $C
113
[root@localhost ~]#


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

例:

[root@localhost ~]# A=222
[root@localhost ~]# B=381
[root@localhost ~]# C=$(($A+$B))
[root@localhost ~]# echo $C
603
[root@localhost ~]#


第四種方式: 使用 expr 算術表達式  注意:表達式中各操作數之間要有空格,而且要使用命令引用

例:

[root@localhost ~]# A=3244
[root@localhost ~]# B=38234
[root@localhost ~]# C=`expr $A + $B`   注意要用空格隔開哈
[root@localhost ~]# echo $C
41478
[root@localhost ~]#

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章