一、字符串比较
字符串比较使用:= ,==,!=,\>,\<
如:A=‘hello’,B=‘hi’
判断A和B的值是否相等:[ $A = $B ]或者 [ $A == $B ] 如果相等则返回真
判断A和B的值是否不等:[ $A != $B ] 如果不相等则返回真
需要注意的是:条件判断符两边要用空格隔开,否则会报错
另外 \> , \< 用来判断两个字符串大小比较,是通过ASCII来比较,要使用 \ 转义:如 ‘a’ \< ‘b‘ ,‘ab’ \> ‘aa‘
字符串是否为空判断:
如:- n string 判断字符串string是否为空,不为空返回真,-z string 判断字符串是否为空,为空返回真。
二、for循环
用法:
for 变量名 in 列表
do
循环体
done
三、脚本练习
1.要求:打印出用户的登录shell为/bin/bash的用户名。
#!/bin/bash
for i in cat /etc/passwd
# cat /etc/passwd
取出/etc/passwd中的每一行,并作为列表,把列表中的每一行循环赋值给i
do
username=echo $i | cut -d: -f1
#取出每行的用户名
sh=echo $i | cut -d: -f7
#取出每行的shell环境
if [[ $sh == ‘/bin/bash‘ ]];then #判断是否为/bin/bash
echo "$username"
fi
done
2.求1到100之间的和
#!/bin/bash
declare -i SUM=0 #declare -i 声明SUM变量为整数,赋值为0,也可以直接是SUM=0
#{1..100}表示生成1到100的数值列表,也可以使用seq 1 1 100生成1到100的列表,第一个1表示从1开始,第二个1表示步长为1,100是结束数字,步长可以省略,默认为1
for i in {1..100}
do
SUM=$(( $SUM+$i ))
done
echo $SUM
原文地址:http://blog.51cto.com/13803030/2141214
时间: 2024-10-04 07:02:57