Linux 第四章 Vimb编辑器 与 Shell命令脚本

本文详细介绍了Shell脚本的基础知识,包括脚本声明、注释、执行方法,以及如何接收和判断用户参数。深入探讨了流程控制语句如if、for、while和case的应用,并讲解了计划任务服务程序的设置与管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4.2 编写Shell脚本

在这里插入图片描述

该脚本中:第一行脚本声明(#!)用来告诉系统使用哪种Shell解释器来执行改脚本
                   第二行的注释信息(#)是对脚本功能和某些命令的介绍信息。
                   第三四行,可执行语句。

运行脚本的方法

      1)bash解释器命令直接执行
     2)输入完整的路径。(此时需要为脚本文件增加执行权限)u->a 表示所有用户

在这里插入图片描述

4.2.2 接受用户的参数

        $0  :对应的是当前Shell脚本程序的名称,
        $#:对应的是总共有几个参数
        $*:   对应的是所有位置的参数值
        $? :对应的是显示上一次命令的执行返回值

在这里插入图片描述
4.2.3判断用户的参数 :[ 条件表达式]
在这里插入图片描述

使用文件测试语句 判断  /etc//fstab 是否为一个目录类型的文件,然后通过Shell解释器的$?变量显示上一条命令执行后的返回值。如果返回0,则目录存在,如果返回非零,则目录不存在

在这里插入图片描述

逻辑语句对测试结果进行分析:&& ||

在这里插入图片描述
[ ! $USER=root ] && echo “root” || echo “user”;

整数比较运算符

在这里插入图片描述
在这里插入图片描述
free命令:获取当前系统正在使用及可用的内存量信息
1)free -m :查看内存使用量情况
2)grep Men:过滤出剩余内存量的行
3)awk ‘{ print $4 }’ 只保留第四行
4) FreeMem=‘语句’ 把语句内执行的结果赋值给变量。
在这里插入图片描述
在这里插入图片描述

> 4.3 流程控制语句

4.3.1 if条件测试语句

在这里插入图片描述
双分支的if条件语句:

 -c 参数规定尝试的次数,
  -i 定义每个数据包的发送间隔
  -W 定义等待时间

在这里插入图片描述
if语句的多分支结构

     read :用来读取用户输入信息的命令,把接收到的信息赋值给后面的指定变量
     -p  :参数用于向用户显示一定的提示信息

在这里插入图片描述
**

4.3.2for条件循环语句

**

for循环语句允许脚本一次读取多个信息,然后逐一对信息进行操作处理

在这里插入图片描述

read 读取用户输入的密码值,赋值给PASSWD
-p向用户显示一段信息  
 用&?判断命令是否执行成功,判断用户是否已经存在

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例:创建用户名并设置密码

   time=1
while [ $time -le 5 ]
do
      echo "please input NO$time users info:"
	    read -p "enter user:" USER
	  
	    id $USER &> /dev/null
	    if [ $? -eq 0 ];then  //判断上行操作返回值是否等于0
	      echo "user  $USER yi cun zai "
	    else
	      read -p "enter password:" PASSWD
	       useradd $USER &> /dev/null
	 
	     echo "$PASSWD" | passwd --stdin $USER &> /dev/null
	     let time++
	      if [ $? -eq 0 ]; then
	    echo "user $USER ,chuang jian cheng gong."
	    else
	          echo "$USER,chuang jian shi bai! "
fi
fi
done

**

4.3.3 while 条件循环语句

**

&RANDOM 调取一个随机数值
 expr  取得其结果

在这里插入图片描述

4.3.4case 条件测试语句

case语句是在多个范围内匹配数据,若匹配成功则执行相关命令并结束整个条件测试;如果数据不在所列出的范围内,会去执行星号*) 中定义的默认命令:
在这里插入图片描述
4.4 计划任务服务程序

  at +时间 ,一次性执行任务
    at + -l 查看设置好但未执行的一次性计划任务。
    atrm 任务序号 删除某一任务

在这里插入图片描述
周期性,有规律的执行任务 :crond服务器

  crontab -e  :创建、编辑计划任务的命令
  crontab -l :查看当前计划任务
  crontab -r :删除某条计划任务

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值