当前位置: 首页 > news >正文

shell脚本语句

一、语句

一、条件语句

一、以用户为例演示

一、显示当前登录系统的用户信息

w命令

 二、显示有多少个用户

w | wc -l

 显示有7个用户

前两个是固定标题,从第三个开始才是登录用户,所以要统计数量需要

命令:echo $[$(w | wc -l) -2]

显示结果

 

二、单分支if

语法:if condition;then command

一、输入脚本

#!/bin/bash
#test
#mpy
#单分支if
user_num=$[$(w | wc -l) - 2]
if [ $user_num -gt 3 ];then
        echo "用户过多登录"
fi


 二、验证结果

 

三、双分支if

语法:if condition;then command;else command

一、输入脚本

#多分支if
if [ $user_num -gt 5 ];then
        echo "登录用户过多"
else
        echo "登录用户适中"
fi

 

 

二、验证结果 

 

 

四、多分支if

语法:if condition;then command;elif condition;then command;elif

 

#多分支if   成绩判断

一、输入脚本
#A:90~100;B:80~89;C:70~79;D:0~69
read -p "请输入要查询的成绩: " score
if [ $score -lt 0 -o $score -gt 100 ];then
        echo "输入错误,请输入0~100的数字"
        $0
else
        if [ $score -ge 90 -a $score -le 100 ];then
                echo "A"
        elif [ $score -ge 80 -a $score -le 89 ];then
                echo "B"
        elif [ $score -ge 70 -a $score -le 79 ];then
                echo "C"
        else
                echo "D"
        fi
fi

在这段脚本中,使用了read命令来获取用户输入的成绩,并存储在变量score中

使用if语句判断输入的成绩是否小于0或大于100,如果是,则打印错误信息并重新运行脚本

90-100的区间是A

80-89 的区间是B

70-79的区间是C

其余的是D

 二、验证

 

二、循环语句

一、shell版本的循环语句

for i in 取值范围;do
        command
done

二、C语言版本

for ((i=初始值;condition;i++));do command done

 for ((i=初始值;condition;i--));do command done

则是递减1

三、举例

for i in {1..10};do
        echo $i
done

 

可以在里面嵌入if语句,满足条件时数数,不满足则不数数 

for i in {1..10};do
        if [ $(($i % 2)) -eq 0 ];then
                echo $i
        fi
done

等于0的时候输出,不等于0则不管

验证结果

只显示奇数

for i in {1..10};do
        if [ $(($i % 2)) -ne 0 ];then
                echo $i
        fi
done
 

因为除2 不是0就是1

验证

 C语言的写法

for ((i=1;i<=10;i=i+2));do
        echo $i
done

每次递增两个

 

验证

当等于i=i+3的时候从1开始每次加三个 

 

 for ((i=2;i<=10;i=i+2));do
        echo $i
done

显示只有偶数

从2开始每次递增2

 

三、输出一个矩形

 

 

http://www.lryc.cn/news/132015.html

相关文章:

  • 【LeetCode】2235.两整数相加
  • springboot sl4j2 写入日志到mysql
  • 用 PyTorch 编写分布式应用程序
  • 空间分析专属 Python 学习资料
  • 2. Linux Server 20.04 Qt5.14.2配置Jetson Orin Nano Developer Kit 交叉编译环境
  • vue入门
  • 区块链中slot、epoch、以及在slot和epoch中的出块机制,分叉原理(自己备用)
  • 免费开源的vue+express搭建的后台管理系统
  • 【开发】视频云存储EasyCVR视频汇聚平台AI智能算法定制
  • Ribbon:负载均衡及Ribbon
  • 【声波】声波在硼酸、硫酸镁 (MgSO4) 和纯水中的吸收研究(Matlab代码实现)
  • 使用swoole实现实时消息推送给客户端
  • Ordinals 之后,以太坊铭文协议 Ethscriptions 如何再塑 NFT 资产形态
  • Python绘制爱心代码(七夕限定版)
  • Java两整数相除向上取整
  • Linux学习之Telnet明文漏洞
  • 产品经理如何提高用户画像效果?SIKT模型
  • ubuntu安装Microsoft Edge并设置为中文
  • Host/ KVM/ Docker/ K8s/ OpenStack/ Mesos简单介绍和区别
  • 关于Transformer中的位置编码
  • ABAP 期初库存批量导入 demo1
  • 想用 Python 写游戏,都有哪些好用的游戏开发库?
  • vue3 路由缓存问题
  • 如何找到一个数的所有质因数,以及如何快速判断一个数是不是质数
  • 西瓜书之神经网络
  • C++进阶 特殊类的设计
  • NLP序列标注问题,样本不均衡怎么解决?
  • 大端和小端
  • C++快速回顾(二)
  • 【LVS】1、LVS负载均衡群集