小练习: 写一个脚本
判断系统上是否有用户的默认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
脚本执行结果
[[email protected] ~]# ./first.sh
The number of bash shell user is 8
练习二:
- 查看系统是否有用户的默认的shell是bash
- 有就显示其中一个,没有则显示系统上没有。
脚本写法,和上个脚本相似
#!/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
脚本执行结果:
[[email protected] ~]#
[[email protected] ~]# ./first.sh
root is one of bash shell users.
[[email protected] ~]#
如何在shell中进行算术运算(注:默认shell会把变量当成字符不可进行算术运算)
例:
[[email protected] ~]# A=3
[[email protected] ~]# B=6
[[email protected] ~]# C=$A+$B
[[email protected] ~]# echo $C
3+6
[[email protected] ~]#
如果想让其做算术运算则:
第一种方式: 使用 let 加要进行运算的变量
例:
[[email protected] ~]# A=3
[[email protected] ~]# B=6
[[email protected] ~]# let C=$A+$B
[[email protected] ~]# echo $C
9
[[email protected] ~]#
第二种方式: 使用 $[算术表达式]
例:
[[email protected] ~]# A=25
[[email protected] ~]# B=88
[[email protected] ~]# C=$[$A+$B]
[[email protected] ~]# echo $C
113
[[email protected] ~]#
第三种方式:使用 $((算术表达式))
例:
[[email protected] ~]# A=222
[[email protected] ~]# B=381
[[email protected] ~]# C=$(($A+$B))
[[email protected] ~]# echo $C
603
[[email protected] ~]#
第四种方式: 使用 expr 算术表达式 注意:表达式中各操作数之间要有空格,而且要使用命令引用
例:
[[email protected] ~]# A=3244
[[email protected] ~]# B=38234
[[email protected] ~]# C=`expr $A + $B` 注意要用空格隔开哈
[[email protected] ~]# echo $C
41478
[[email protected] ~]#