您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

shell的if语句的各种格式

时间:2022-09-16 11:43:13  来源:今日头条  作者:留住此刻

一 if语句的格式

if 条件

then

执行语句

fi

注意,最后必须用fi来闭合。无需使用{ }来包裹。

if then有两种写法,同一行时,必须有分号。独占一行时不用分号

 

如:

同一行

if [[ $a > $b ]] ; then
echo "111"
else
echo "00"
fi

独占一行

if [[ $a > $b ]]
then
echo "111"
else
echo "00"
fi

二 if的各种括号的写法

1、数值的比较

-eq 等于,如:if [ "$cc" -eq "$dd" ]

-ne 不等于,如:if [ "$cc" -ne "$dd" ]

-gt 大于,如:if [ "$cc" -gt "$dd" ]

-ge 大于等于,如:if [ "$cc" -ge "$dd" ]

-lt 小于,如:if [ "$a" -lt "$b" ]

-le 小于等于,如:if [ "$cc" -le "$dd" ]

使用符号是,用双括号 如:(("$cc" > "$dd"))

如:(("$a" >= "$b"))

2、字符串的比较

= 等于,如:if [ "$a" = "$b" ]

== 等于,如:if [ "$a" == "$b" ],与=等价

!= 不等于,如:if [ "$a" != "$b" ]

这个操作符将在[[]]结构中使用模式匹配.

大于,在ASCII字母顺序下.如:

if [[ "$a" > "$b" ]] 双括号无需转义

if [ "$a" > "$b" ] 单括号要转义

 

注意:在单括号[]结构中">",< 等需要转义.

=和==是等价的,这个比较奇怪

 

以下语句是等价的,其中-a表示 and

if [ $cc -ne 1 -a $cc != 2 ]

if [ $cc -ne 1] && [ $cc != 2 ]

if [[ $cc != 1 && $cc != 2 ]]

通过以上可以看出,使用双括号时,最简单直观

上述的if的后面,括号里面的表达式都要有空格

单括号时,字符串的比较使用 = == !=

单括号时,数值的比较使用 -eq -ne -gt -ge -lt -le

 

双括号与双中括号的区别:

((表达式))常用于算术运算比较,双括号中的变量可以不使用$符号前缀

 

如:

while ((aa<100)) #数值与运算符可以没有空格,变量的使用时也可以不使用$aa
do
echo "$aa"
((aa=aa*2))
done


Tags:shell   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
大家好,这期教大家一条很少人知道的指令,有了这个指令,你想隐藏什么文件,电脑高手也发现不了!我们平常隐藏文件夹,一般都是右击文件夹,点击属性,选择隐藏。 这样虽然可以隐藏文件夹,...【详细内容】
2022-10-29  Tags: shell  点击:(10)  评论:(0)  加入收藏
一 if语句的格式if 条件then执行语句fi注意,最后必须用fi来闭合。无需使用{ }来包裹。if then有两种写法,同一行时,必须有分号。独占一行时不用分号 如:同一行if [[ $a > $b ]]...【详细内容】
2022-09-16  Tags: shell  点击:(66)  评论:(0)  加入收藏
作者:阿良 来自:DevOps技术栈1、Dos 攻击防范(自动屏蔽攻击 IP)2、Linux 系统发送告警脚本3、MySQL 数据库备份单循环#!/bin/bashDATE=$(date +%F_%H-%M-%S)HOST=localhostUSER=...【详细内容】
2022-08-29  Tags: shell  点击:(76)  评论:(0)  加入收藏
Shellcode是嵌入在恶意程序中的一段代码,在感染受害者的目标系统后,可以获取命令shell代码,例如类UNIX操作系统中的/bin/bash, Microsoft Windows 操作系统上的 MS-DOS 和cmd .e...【详细内容】
2022-08-29  Tags: shell  点击:(64)  评论:(0)  加入收藏
Dos 攻击防范(自动屏蔽攻击 IP)#!/bin/bashDATE=$(date +%d/%b/%Y:%H:%M)LOG_FILE=/usr/local/nginx/logs/demo2.access.logABNORMAL_IP=$(tail -n5000 $LOG_FILE |grep $DATE...【详细内容】
2022-08-19  Tags: shell  点击:(65)  评论:(0)  加入收藏
在 Windows 中有些特殊文件夹或隐藏目录可以用 shell 命令打开。例如系统下载目录,按 Win + R 输入 shell:Downloads 再回车就可以打开。编写程序时也可以用代码调用 shell...【详细内容】
2022-08-16  Tags: shell  点击:(141)  评论:(0)  加入收藏
0x01 前言最近很多家厂商都陆续开放了自己的Webshell检测引擎,并且公开接口,邀请众安全研究员参加尝试bypass检测引擎,并且给予奖励,我也参加了几场类似的活动,有ASRC的伏魔计划,...【详细内容】
2022-08-07  Tags: shell  点击:(76)  评论:(0)  加入收藏
expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预(如:借助Expect处理交互的命令,可以将交互过程:ssh登录,ftp登录等写在一个脚本上,使之自动化完成...【详细内容】
2022-08-07  Tags: shell  点击:(94)  评论:(0)  加入收藏
这篇文章笔者整理了目前所见到过的大部分Webshell网站管理工具,这里只对这些工具做了简单介绍,并没有写具体使用方式,大家如果有兴趣可以自己去看一下使用说明,同时也欢迎大家补...【详细内容】
2022-07-29  Tags: shell  点击:(88)  评论:(0)  加入收藏
一、引言某行动在即,本文基于冰蝎Behinder_v3.0.11和哥斯拉v4.00-godzilla,对它们的加解密方式进行识别和分析【附简易解密脚本】,希望能在行动中助大家一臂之力。二、冰蝎冰蝎...【详细内容】
2022-07-20  Tags: shell  点击:(85)  评论:(0)  加入收藏
▌简易百科推荐
嵌入式开发,离不开 C 语言,C语言中有很多语法会直接或间接影响你代码的质量,下面就来讲讲__attribute__ 关键字的用法。1. 什么是 __attribute__GNU C 编译器增加了一个 __attr...【详细内容】
2022-11-03  嵌入式胖胖  今日头条  Tags:嵌入式   点击:(5)  评论:(0)  加入收藏
前两天,有读者私信发我一篇文章,说里面提到的 Intellij IDEA 插件真心不错,基本上可以一站式开发了,希望能分享给更多的小伙伴,我在本地装了体验了一下,觉得确实值得推荐,希望小伙...【详细内容】
2022-11-03  会写代码的猴子  今日头条  Tags:IDEA   点击:(1)  评论:(0)  加入收藏
一、查看 github 热门趋势 查看全类:https://github.com/trending JAVA类:https://github.com/trending/java点击右上角切换,查看每天、每周、每月热点项目。 二、查看 gith...【详细内容】
2022-11-01  JEECG  今日头条  Tags:github   点击:(5)  评论:(0)  加入收藏
作为一个天天都在CRUD的程序员,你有没有想过,数据库是如何工作的?我猜,你曾经无数次的翻开讲数据库的书籍和文章,但总是看着看着就被劝退,太多的专业术语把人头都搞大了。等等,看这...【详细内容】
2022-11-01  小小怪下士的架构攻略    Tags:Github   点击:(6)  评论:(0)  加入收藏
时隔一年多终于又冒泡了,哎,随着工作越来越忙,自己踏实坐下来写点东西真是越来越费劲,这篇文章也是准备了好久好久才打算发表出来(不瞒大家,东西做完好久了,文章憋了一年了,当真“高...【详细内容】
2022-10-31  jicheng0622  电子技术应用  Tags:LittleVgl   点击:(10)  评论:(0)  加入收藏
大家都知道tp5的数据库配置在config/database.php中,如果这个数据库配置正式服的数据,要再配置一个测试服的数据就需要在config中再创建一个database_test.php的配置文件。但...【详细内容】
2022-10-31  莣夢忧醒  今日头条  Tags:数据库   点击:(7)  评论:(0)  加入收藏
本文主要介绍Qt中线程类QThread的用法在这篇文章中,将写一个获取热点新闻的程序,每隔2秒发送一个关键字,从服务器获得与该关键字相关的一条热点新闻。我们的目标是实现以下几个...【详细内容】
2022-10-31  音视频开发老舅    Tags:Qt开发   点击:(7)  评论:(0)  加入收藏
一、分区存储Git分区存储 存储区 描述 工作区 (workspace) 我们的开发代码目录 暂存区 (Index) .git目录下的index文件 ...【详细内容】
2022-10-30  全栈旅行  今日头条  Tags:Git   点击:(6)  评论:(0)  加入收藏
大家好,我是皮皮。一、前言前几天在Python最强王者交流群【WYM】问了一个pandas处理的问题,提问截图如下:原始数据如下图所示:后来还提供了一个小文件。二、实现过程这里【郑煜...【详细内容】
2022-10-25  Python学习交流     Tags:json   点击:(11)  评论:(0)  加入收藏
机器之心报道编辑:杜伟 想要了解自己的 PyTorch 项目在哪些地方分配 GPU 内存以及为什么用完吗?不妨试试这个可视化工具。 近日,PyTorch 核心开发者和 FAIR 研究者 Zachary DeV...【详细内容】
2022-10-24  机器之心Pro   网易号  Tags:PyTorch   点击:(12)  评论:(0)  加入收藏
站内最新
站内热门
站内头条