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

网站设计 尺寸微网站建站平台

网站设计 尺寸,微网站建站平台,中山手机网站建设报价,网站做服务端文章目录 shell中的流控制if语句if语句if-then语句if-then-else 语句 test命令数值比较字符串比较文件比较case语句 欢迎访问个人网络日志🌹🌹知行空间🌹🌹 shell中的流控制if语句 简单的脚本可以只包含顺序执行的命令&#xff0…

文章目录

  • shell中的流控制if语句
    • if语句
      • if-then语句
      • if-then-else 语句
    • test命令
    • 数值比较
    • 字符串比较
    • 文件比较
    • `case`语句


欢迎访问个人网络日志🌹🌹知行空间🌹🌹


shell中的流控制if语句

简单的脚本可以只包含顺序执行的命令,但结构化命令允许根据条件改变程序执行的顺序。

if语句

if-then语句

if-then语句格式如下:

if command
thencommands
fi

在其他编程语言中, if 语句之后的对象是一个等式,这个等式的求值结果为 TRUEFALSEbash shellif 语句会运行 if 后面的那个命令。如果该命令的退出状态码是0,位于 then 部分的命令就会被执行。

#!/bin/bash
if pwd
thenecho "pwd worked"
fi

输出:

# rob@xx-rob:~$ ./test1
/home/rob
pwd worked

if-then-else 语句

格式:

if command
thencommands
elsecommands
fi

示例:

v=bin
if grep $v pwd
thenecho "pwd worked"
elseecho "cannot find $v"
fi

结果:

rob@xx-rob:~$ ./test1
# grep: pwd: 没有那个文件或目录
# cannot find bin

if还可以嵌套多层:

if command1
then
command set 1
elif command2
then
command set 2
elif command3
then
command set 3
elif command4
then
command set 4
fi

test命令

bash shell if语句的条件是command,如果要使用常规的数值/字符串比较条件,需要使用test命令。

使用test命令的if-then-fi语句:

if test condition
then
commands
fi

如果不写 test 命令的condition部分,它会以非零的退出状态码退出,并执行 else语句块。

加入条件时,test 命令会测试该条件。

bash shelltest命令的另外一种写法是使用[ condition ] 中括号,第一个方括号之后和第二个方括号之前必须加上一个空格,
否则就会报错。

if中条件判断的几个条件:

  • 判断变量是否有值if test ${variable}
  • 数值比较
  • 字符串比较
  • 文件比较

数值比较

test命令的数值比较功能:

比较描述
n1 -eq n2检查 n1 是否与 n2 相等
n1 -ge n2检查 n1 是否大于或等于 n2
n1 -gt n2检查 n1 是否大于 n2
n1 -le n2检查 n1 是否小于或等于 n2
n1 -lt n2检查 n1 是否小于 n2
n1 -ne n2检查 n1 是否不等于 n2
#!/bin/bash
if test 100 -le 145; thenecho "100 is smaller than 145"
fiv=12
if [ $v -eq 12 ];thenecho "value is 12"
fi

bash shell只能处理整数,不能使用浮点数作为判断条件。

字符串比较

bash shell条件测试还允许比较字符串值,比较字符串比较烦琐。

比较描述
str1 = str2检查 str1 是否和 str2 相同
str1 != str2检查 str1 是否和 str2 不同
str1 < str2检查 str1 是否比 str2 小
str1 > str2检查 str1 是否比 str2 大
-n str1检查 str1 的长度是否非0
-z str1检查 str1 的长度是否为0

bash sehll中比较运算符需要使用转义,否则会被当成重定向运算符。


s1="val"
s2="thi"# 升成`thi`的文件
if [ $s1 > $s2 ];
thenecho "new file $v2 has been created."
fiif [ $s1 \> $s2 ];
thenecho "$s1 is greater than $s2."
fi

比较测试中使用的是标准的ASCII顺序,根据每个字符的ASCII数值来决定排序结果。在比较测试中,大写字母被认为是小于小写字母的。

文件比较

测试Linux文件系统上文件和目录的状态。

命令描述
-d file检查 file 是否存在并是一个目录
-e file检查 file 是否存在
-f file检查 file 是否存在并是一个文件
-r file检查 file 是否存在并可读
-s file检查 file 是否存在并非空
-w file检查 file 是否存在并可写
-x file检查 file 是否存在并可执行
-O file检查 file 是否存在并属当前用户所有
-G file检查 file 是否存在并且默认组与当前用户相同
file1 -nt file2检查 file1 是否比 file2 新
file1 -ot file2检查 file1 是否比 file2 旧

if-then 语句允许你使用布尔逻辑来组合测试,有两种布尔运算符可用:

  • [ condition1 ] && [ condition2 ]
  • [ condition1 ] || [ condition2 ]

case语句

在尝试计算一个变量的值,在一组可能的值中寻找特定值,可能不得不写出很长的 if-then-else语句。case
令会采用列表格式来检查单个变量的多个值。

case variable inpattern1 | pattern2) commands1;;pattern3) commands2;;*) default commands;;
esac

一个例子:

c=1
case $c in
1 | 2) echo "1";;
3) echo "23";;
esac



欢迎访问个人网络日志🌹🌹知行空间🌹🌹


http://www.hkea.cn/news/708069/

相关文章:

  • 杭州 手机网站建设活动营销
  • 加网络网站建设工作室做一个企业网站大概需要多少钱
  • 张家港优化网站seo百度网盘下载
  • 烟台有没有做网站网站安全
  • 网站建设与制作设计公司惠州seo代理商
  • 东营新闻网今日头条常州网站seo
  • 东莞全网合一网站黄页引流推广网站软件免费
  • wordpress的数据库在那里百度seo如何快速排名
  • wordpress手机客服代码免费seo快速排名工具
  • web网站开发作品关键词歌词图片
  • 汕头行业网站seo培训公司
  • 网站背景图片优化关键词歌曲免费听
  • 郑州做网站哪家专业我要发布信息
  • 西安做网站优化的公司石家庄seo按天扣费
  • 2022年西安封城通知自动app优化下载
  • 无锡做网站哪家公司好一个公司可以做几个百度推广
  • 专题网站建设工作关键词林俊杰无损下载
  • adobe 网站开发软件软文写作兼职
  • 英文网站建设 淮安免费培训网站
  • 隔离需要多少钱湖南网站seo找行者seo
  • wordpress简单企业站seo怎么刷排名
  • 网站建设与运维泉州全网推广
  • 网站建站哪个公司好一点营销咨询服务
  • 值得玩的网页游戏北京seo营销培训
  • 中国建设银行网站分期通百度推广登录平台网址
  • 公司内部网站源码新闻软文推广案例
  • vf建设银行网站谷歌seo排名
  • 如何申请商业服务器武汉seo工厂
  • 祥云平台英文网站微博指数查询入口
  • 公司网站建设准备资料今日重大财经新闻