shell 笔记 Day02

  • 条件测试

一:语法格式 test 选项 参数 或者 [选项 参数]

字符串比较基本语法

1.是否为空 [ -z 字符串 ]

2.等于 [ 字符串1 == 字符串2 ]

3.不等于 [ 字符串1 != 字符串2 ]

注意:在[ 和 ] 两边至少需要一个空格,而且也不会立即打印结果到终端,需要使用echo $? 来判断结果

数字比较: 语法 :[ 数值一 操作符 数值二 ] 注意空格

操作符类型:

-eq //等于 equal

-ne //不等于 not equal

-ge /大于或者等于 greater or equal

-le //小于或者等于 less or equal

-gt // 大于 greater than

-gt //小于 less than

注意:在[ 和 ] 两边至少需要一个空格,而且也不会立即打印结果到终端,需要使用echo $? 来判断结果

文件与目录的判断

语法:[ 操作符 文件或者目录 ]

操作符种类

-e 判断对象是否存在

-d 判断对象是否为目录

-f 判断对象是否为文件

-r 判断对象是否有可读权限

-w 判断对象是否有可写权限

-x 判断对象是否有可执行权限

控制操作符:使用控制符组合多个命令 ;(按顺序执行) &&(仅前命令成功才执行) ||(前命令失败才执行)

基础命令:

tr -s 字符 //删除重复的字符。例如 echo "aaaabbbb ccc" | tr -s "ab c" --->"ab c"(只有连续才删除)

cut: 过滤数据

cut -d: -f1 /etc/passwad //以 : 为分隔符,取第一

  • if语句

单分支语法:

if 条件测试             或者|   if 条件; then 

    then 语句         |       语句

fi                       |   fi



多分支:

    if 条件;then

    语句

elif

    语句

else

    语句

fi
  • for循环

    for 变量 in 值列表 或者|for ((i=1;i<5;i++))

    do |do

    语句 | 语句

    done |done

技巧:{1..10}可以相当于值列表的1到10,也可以{a..z}

  • while循环

    while 条件

    do

    语句

    done

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容