inux shell脚本攻略06-循环结构、选择结构、算术比较、字符串比较

linux shell 指令(文件比较运算符,字符串比较运算符,算术比较运算符) 立即下载

for 循环

for var in list
do
   commands
done

echo {1…50}能够生成一个数字列表,echo{a…z}生成小写字母列表

for var in {A..Z}
do
   commands
done

也可以采用c语言的写法

for((i=0;i<10;i++))
{
   command
}

while循环

while condition
do
commands
done

例子1

while true
do
commands
done

例子2

i=10
while [ $i -lt 50 ]
do
let i++
echo $i
done

util循环
bash中还可以使用一个特殊的循环util,他会一直执行循环,直到给定的条件为真。

eg:
x=0;
util [ $x -eq 9 ]   $条件是x等于9
do
let x++;echo $x
done

选择结构,比较结构

if condition;then
command
fi

if … elif …else

if condition;then
command
elif condition;then
command
else
command
fi

if和else可以进行嵌套,if的条件判断部分可能会变得很长,可以使用逻辑运算符&&和}}使他们变得简洁

[condition] && action  如果condition为真,则执行action
[condition] || action 如果condition为假,则执行action
如
[ 10 -eq 30 ] || echo "false"

算术比较
条件通常被放置在封闭的中括号内,一定要注意在[或]与操作数之间有一个空格,否则会报错

[ $val -eq 0 ] or [ $val -eq 0 ]

-gt 大于
-lt 小于
-eq 等于
-ge 大于等于
-le 小于等于

可以使用下面的方法结合多个条件进行测试

[ $val1 -ne 0 -a $val2 -gt 2 ]   使用逻辑与-a
[ $val1 -ne 0 -o $val2 -gt 2 ]   使用逻辑与-o

文件系统相关测试

[ -f $file_var ]:给定的变量包含正常的文件路径或文件名,则返回真
[ -d $file_var ]:给定的变量是目录,则返回真
-e  包含的文件存在返回真
-x   包含的文件可执行
-r	可读
-w	可写

字符串比较
字符串比较最好用双中括号,因为有时候采用单个中括号会报错(注意空格)

[[ $str1 = $str2 ]]   如果str1与str2包含的文本相等,则返回真
[[ $str1 == $str2 ]]	另一种写法
[[ $str1 != $str2 ]]	不相等
[[ $str1 > $str2 ]]   str1的文本字典序比 str2大,则返回真,同理,还有<
[[ -z $str1 ]]  如果str1为空字符串,则返回真
[[ -n $str2 ]] 	如果str2为非空字符串,则返回真

如果str1字符串为非空字符串,并且str2字符串为空字符,则执行command

if [[ -n $str1 ]] && [[ -z $str2 ]];
then
command
fi

test命令可以用来执行条件检测,避免使用过多的括号
如

if [ $val -eq 0 ];then echo "True";fi
可以写成
if test $val -eq 0;then echo "True";fi
DAC8568实战指南:如何用STM32实现8通道DAC精准控制(附代码) 本文提供DAC8568与STM32结合的实战指南,详细解析8通道16位DAC的精准控制方法。内容涵盖硬件连接、SPI配置、驱动层构建、时序调试及多通道同步输出等关键步骤,并附有经过验证的HAL库驱动代码,帮助工程师快速解决实际项目中的通信与输出稳定性问题。 阅读详情

相关推荐

STM32F4_LCD显示汉字

LCD显示汉字和显示图片、数字、字符的原理是一样的,都是将汉字、图片、数字以及字符转换点阵,进而通过函数扫描点阵在LCD上显示;

light_2025的博客 1万+

Linux Shell 比较运算有哪些,以及怎么用

在 Linux Shell 脚本编程中,进行算术比较是常见的需求,特别是在编写条件判断语句时。Shell 提供了一系列的算术比较操作符,这些操作符通常用在 `if`、`while` 等语句中,以便进行数值比较。下面介绍一些常用的算术比较操作符和它们的用法。

常备不懈 2703

ubuntu18.04安装gtsam过程及报错error: invalid initialization of reference of type ‘const std::vector<bool>&’

这里建议从这个链接下,不要从官网下,可能会有版本冲突 2.安装依赖 3.编译 报错: 1. error: invalid initialization of reference of type ‘const std::vector&’ from expression of type ‘const std::vector’ 124 | const std::vector& mask() const { retur...

qq_35102059的博客 2914

Shell运算符: 比较运算符

可以比较2个变量, 变量的类型可以为数字(整数,小数)与字符串会将含有空格字符串进行分拆分割后比较。

qq_44949488的博客 1396

OpenSSL玩转证书链:从Windows CA根证书到签发多域名/IP的服务器证书全攻略

本文详细介绍了如何使用OpenSSL在Windows环境下构建私有CA体系,从创建CA根证书到签发支持多域名/IP的服务器证书的全流程。通过实战指南,读者可以掌握零成本证书管理技术,灵活配置SAN扩展,并了解在Nginx、Apache等主流服务器中的证书部署方法,适用于企业内网、IoT设备等HTTPS加密场景。

weixin_28731223的博客 440

金融科技数据源

数字金融开放研究平台

平平淡淡,戒急用忍,一生学闭嘴。 1763

Linux基础:用shell脚本求输入一个成绩判断是否有效(0-100)给成绩打等级

linux基础

qq_63626307的博客 3265

linux v3h平台开发系列详解(GMSL摄像头篇):1.11 解串器MIPI 1.5G高速率特殊deskew配置

解串器max96712 deskew配置

xian18809311584的博客 1777

shell 条件可能用到

为什么不能用ruby脚本写啊,shell脚本写的俺很烦啊... 整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如:if [ "$a" -ne "$b" ] -gt 大于,如:if [ "$a" -gt "$b" ] -ge 大于等于,如:if [ "$a" -g

horace_lee的专栏 196

微信小程序 - 最新详细实现气泡菜单功能,点击任意元素在底部或附近周围弹出气泡菜单列表,仿微信气泡弹框显示菜单快捷功能收纳,自定义气泡弹窗/菜单气泡弹窗,小程序气泡框嵌套菜单组件插件,自动计算弹出定位

微信小程序,vue2,vue3,气泡列表,汽泡菜单,气泡框,泡泡框,悬浮框,悬浮菜单,点击菜单按钮弹出气泡,对话箭头气泡框,弹出的气泡准确定位并吸附在附近,弹出式气泡,弹窗菜单,气泡自定义HTML弹窗,带三角的气泡弹框,三角气泡框里面嵌套菜单,当点击一个按钮或元素时,会从附近弹出一个小气泡一样的菜单列表,自定义气泡框内的内容,点击一个元素在附近弹出一个气泡弹框功能效果,气泡弹框不准怎么办,被盖住了,挡住了,长按弹出,组件插件,微信,自定义气泡菜单组件,气泡弹出框,小程序自定义气泡框,菜单气泡,包裹列表的三角

🏆 前端领域优质创作者 3923

基于 ESP32 的智能环境监测与远程报警系统

本系统基于 ESP32 实现了环境数据的采集、远程传输、报警通知功能,硬件成本低、接线简单、代码可直接运行。用户可根据实际需求调整传感器类型(如替换为 PM2.5 传感器、土壤湿度传感器)和功能扩展,适合嵌入式 IoT 入门学习和实际场景应用。通过多轮迭代(如优化低功耗、增加 APP 控制),可进一步提升系统的实用性和稳定性。

weixin_42300449的博客 1025

Shell实现数的运算、比较以及循环操作

1、运算: expr $a + $b //加号两边必须要有空格 echo $[$a + $b] //加号两边可以没有空格,乘法可以不用转义 echo $[a + b] echo $((a + b)) 2、自增自减运算: let i++ ;echo $i 注意:Shell不支持小数运算 3、bc: 小数运算和比较 echo "12 + 12" | bc echo "12 >= 12" | bc // 返回值:1为真..

qq_45207305的博客 532

【OAG vs RAG】RAG的“语义崩溃“:为什么你的知识库越大,AI越笨?_语义检索oag-优快云博客

19.9 元(AI 编程 / Agent 实战 | 本文同主题系统课程)·49.9 元(AI 时代成长方法论)。单篇不过瘾?订阅解锁全量源码、实战与答疑;文末附资料包领取方式 ↓图1:RAG语义崩溃概念图。

求知若渴、虚心若愚 73

Shell脚本学习之路---算术运算&数值比较&字符串比较

31.read:从键盘读取输入 $read variable $echo $variable $read -p "Enter value: " value #-p:代表prompt,显示提示语。 如果未在read命令后面指定变量,那么会将输入值存储到默认的变量REPLY中 #!/bin/bash echo "where do you stay ?" read echo "you stay in ...

HelloMagina的博客 785

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

bash shell数字/字符串比较

数字比较 字符比较

w7904116的博客 743

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Linux 之 shell 比较运算符

运算符 描述 示例 文件比较运算符 -efilename 如果filename存在,则为真 [ -e /var/log/syslog ] -dfilename 如果filename为目录,则为真 [ -d /tmp/mydir ] -ffilename 如果filename为常规文件,则为真 [ -f /usr/bin/grep ] -Lfilenam...

轻轻草原 626

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

PHP基本知识(字符串,循环结构)

PHP基本知识(字符串,循环结构) 知识点: 一、字符串函数 二、循环结构****** 题目: $dt = "2006-01-12 12:12:12"; 需求: 求出 上三个 下三个该时刻的时间 2005-10-12 12:12:12 2006-04-12 12:12:12 练习: 一、字符串函数 字符串:$s

Websites 2159

常用的shell比较运算符

shell脚本中常用的运算比较符:一定要注意中括号内前后要有空格 1. 文件比较运算符 -e filename 如果 filename 存在,则为真 [ -e /var/log/syslog ] -d filename 如果 filename 为目录,则为真 [ -d /tmp/mydir ] -f filename 如果 filename 为常规文件,...

Be_Nice的博客 2775

shell中的数值运算及运算方式差异

shell中的数值运算

zlj121212的博客 1722

MOS管焊接防损指南:从静电防护到热管理,告别“烟花”

在电子硬件开发与维修中,焊接是连接元器件与电路板的基础工艺,其质量直接影响设备的可靠性与性能。焊接的核心原理是通过热传导使焊料熔化,形成可靠的电气与机械连接。然而,对于MOSFET(金属-氧化物半导体场效应晶体管)这类敏感器件,不当的焊接操作极易引入静电放电(ESD)损伤和热应力,导致器件性能劣化甚至永久失效,这在开关电源、电机驱动等应用场景中尤为关键。因此,掌握针对性的焊接技术,如使用防静电腕带、合理设置烙铁温度、利用热沉分散热量以及进行焊后万用表测试,对于保障电路稳定运行、提升产品直通率具有重要的工程实

weixin_34026276的博客 546

shell编程--变量、算数运算、比较判断、[]和[[]]的区别

一、变量 1、自定义变量 命名规则:只能使用字母、数字和下划线,而且不可以使用数字开头,不能使用关键字。 1)定义变量:# name=”jiaofan” 2)引用变量:# $name 3)查看变量:# echo $name 4)取消变量:# unset name 5)查看所有变量:# set 6)从键盘输入数据:read -p”输出内容” name 7)三种引号的作用:””弱引 ‘’强引 ``优先执行 2、环境变量 export 全局变

jiaofan_yun的博客 753

Shell脚本:选择结构、循环结构、

1、选择结构 (1).选择结构的定义 选择结构是程序中带有判断的一种逻辑结构,只有符合一定的条件,程序体才会被执行。 (2)Linux shell 选择结构分类----------------if-then控制结构 ----------------case–esac控制结构 if then 控制结构:单分支、双分支、多分支、嵌套if 单分支if格式: if[...

anmodiao5169的博客 707

shell脚本从入门到复杂 其六(条件判断和算数运算)

一、条件判断分类:条件测试类型数值测试字符串测试文件测试1、条件测试的表达式格式:[ expression ][[ expression ]]test expression2、数值测试参数说明-eq等于则为真-ne不等于则为真-gt大于则为真-ge大于等于则为真-lt小于则为真-le小于等于则为真案例1:判断当前系统上是否有用户的默认shell为bash;如果有,就显示有多少...

weixin_34310785的博客 269

Shell判断和比较

1      常见的shell函数参数 $0   Shell本身的文件名 $1   Shell的第一个位置参数,一直到$9;当n>=10时,需要使用${n}来获取参数 $#   传递到脚本的参数个数 $*   以一个单字符串显示所有向脚本传递的参数 $$   脚本运行的当前进程ID号 $!    后台运行的最后一个进程的ID号 $@ 与$*相同,但是使用时加引号,并在引号中返回每

woshiliulei0的专栏 1万+

Shell比较运算符

Shell常用比较符,判断文件、文件夹类型和是否存在 if [ -e $FILE ];then echo "file exists" else echo "file not exists" fi 文件比较运算符: -e 判断对象是否存在,是返回true -d 判断是否为目录 -f 判断是否为常规文件 -c 判断是否为特殊字符文件 -s 判断是否长度不为...

L, there! 1374

shell编程中的 三种结构: 条件if/选择结构case/循环for/while/until等结构 和 函数的用法...

shell 函数的使用 (md中, 列表本身是有格式的, 他要产生缩进, 其次,列表项和列表项之间, 可以留有一个空行, 是合法的, 允许的) shell函数,就是 就相当于一个命令来看待和处理的, 这有助于shell解释器的写法. 在调用方法上, 跟 命令的方式是一样的, 也是 函数名 arg1 arg2 ... 函数名就相当于命令名. 对于一个命令来说, 格式是: ls /etc 命令名 [...

weixin_34143774的博客 466
上一篇: linux shell脚本攻略05-字段分隔符
下一篇: spark深度解析:调度算法
Java_Soldier
博客等级 码龄10年 27粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值