1、字符测试
常用的测试字符的命令:
== 、=都表示测试字符相等,格式为【 A = B 】需要注意的是变量与等号之间需要有空格,不然测试的结果不正确示例如下
若字符与等号不加空格,假设变量A=ab B=cd, 比较A B的值是否相等,使用echo $? 查看命令状态,因为A不等于B 所以命令返回状态应该为1

!=:”表示测试字符是否等于
> 判断字符是否大于
<判断字符是否小于
此外 -n +字符串表示测试指定字符串是否为空,-s + 字符串表示测试字符串是否为不空
for循环以及练习
for循环用法:
for 变量 in 列表;do(若do在下一行前面可不加分号)
循环体(要执行的命令)
done
如何生成列表呢,方法有两种。
1、使用花括号例如 {1..100} 表示自动展开从1到100
2、使用命令替换 类似于`seq 10` 表示为从1循环到10,
seq命令格式: seq 起始数(可以忽略)步进长数(可以忽略)结束数示例如下,需要注意的是seq有设置步进长数的时候,有时候并不会匹配最后一位。


练习for循环:编写一个脚本,依次向每一个用户的前面加hello问好,最后统计共有多少个用户。
脚本如下: 定义变量总共有多少个用户: declare -i LINES=` wc -l /etc/passwd | cut -d' ' -f1` 此处在做实验时-d后面分隔符为空格,未选择空格为分隔符,导致报错
使用for循环: for I in `seq 1 $LINES` ;do
echo"hello, `head -n $I /etc/passwd | tail -1 | cut -d: -f1` " 使用head命令取得前n行的用户,tail -1取得每一次循环最后一个 用户
done
echo " there have $I user "
实验结果如下图:
