• shell脚本练习及小总结


    写4个脚本,要求如下

    一.给定一个用户:
    1、如果其UID为0,就显示此为管理员;
    2、否则,就显示其为普通用户;

    vim     .sh 结尾的文件

     修改username 测试不同用户

     二.断当前系统上是否有用户的默认shell为bash;
    如果有,就显示有多少个这类用户;否则,就显示没有这类用户;

     

    三.给定一个文件,比如/etc/inittab
    判断这个文件中是否有空白行;
    如果有,则显示其空白行数;否则,显示没有空白行。


    四.给定一个用户,判断其UID与GID是否一样
    如果一样,就显示此用户为“good guy”;否则,就显示此用户为“bad guy”

     

     拓展

    1. 字符串运算符:
    2. $ 检测字符串是否为空,不为空返回 true
    3. = 检测两个字符串是否相等,相等返回 true
    4. != 检测两个字符串是否不相等,不相等返回 true
    5. -z 检测字符串长度是否为0,为0返回 true
    6. -n 检测字符串长度是否不为 0,不为 0 返回 true
    1. 关系运算符
    2. -eq   检测两个数是否相等,相等返回 true。     (equal
    3. -ne   检测两个数是否不相等,不相等返回 true。         (unequal)
    4. -gt   检测左边的数是否大于右边的,如果是,则返回 true。 (greater than
    5. -lt   检测左边的数是否小于右边的,如果是,则返回 true。 (less than
    6. -ge   检测左边的数是否大于等于右边的,如果是,则返回 true
    7. -le   检测左边的数是否小于等于右边的,如果是,则返回 true
    1. 文件测试符
    2. -r 检测文件是否可读,如果是,则返回 true
    3. -w 检测文件是否可写,如果是,则返回 true
    4. -x 检测文件是否可执行,如果是,则返回 true
    5. -s 检测文件是否为空(文件大小是否大于0),不为空返回 true
    6. -e 检测文件(包括目录)是否存在,如果是,则返回 true
    7. -d 检测文件是否是目录,如果是,则返回 true
    8. -f 检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回 true
    1. 逻辑运算符
    2. && 是逻辑“与”,只有当前面语句执行成功的时候才会执行后面的命令。
    3. || 是逻辑“或”,只有当前面语句执行失败的时候才会执行后面的命令。
    4. ! 是逻辑“非”,代表对逻辑测试结果取反值,之前是正确则变错误,错误则变正确。

  • 相关阅读:
    安全组问题 访问华为云服务器端口
    二叉树相关算法
    dflow入门4——recurse&reuse&conditional
    hook技术原理,举个详细的例子,然后给大家比喻一下就懂了
    链接&装载(一)虚拟地址与物理地址
    [一带一路金砖 2023 CTF]Crypto
    软件工程概述
    【LeetCode刷题日志】189.轮转数组
    基于卷的磁盘扫描算法设计
    Java定时任务的解决方案(Quartz等)
  • 原文地址:https://blog.csdn.net/Shakespeare_i/article/details/126943128