linux字符测试以及for循环

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 "

实验结果如下图:

 

猜你喜欢

转载自www.cnblogs.com/jiangjp-1/p/10560089.html
今日推荐