温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

linux shell常用的脚本语句语法

发布时间:2021-09-09 18:14:43 来源:亿速云 阅读:110 作者:chen 栏目:系统运维

这篇文章主要介绍“linux shell常用的脚本语句语法”,在日常操作中,相信很多人在linux shell常用的脚本语句语法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux shell常用的脚本语句语法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1shell中的if语句语法
我发现有时候等于是用eq表示,有时候用=标准,不明白
==============
eq数值
=字符串!!!
==============
可以看看man test
==============
流程控制

if 表达式 如果条件为真则执行then后面的部分:
if ....
then
....
elif ....
then
....
else
....
fi
大多数情况下,可以使用测试命令来对条件进行测试。比如可以比较字符串、判断文件是否存在及是否可读等等…
通常用 [ ] 来表示条件测试。注意这里的空格很重要。要确保方括号的空格。
[ -f somefile ] :判断是否是一个文件
[ -x /bin/ls ] :判断/bin/ls是否存在并有可执行权限
[ -n $var ] :判断$var变量是否有值
[ $a = $b ] :判断$a和$b是否相等
==============
今天看到一本书,上面说if语句中如果用=,<,>等比较符号是,应该写在括号中,如果是用-eq,-lt等就应该写在[ ]中,是这样嘛??
==============
这应该是针对 ksh/bash 的,因为它们都对原来的sh进行了扩展,可以直接使用
< > = 来进行数值判断,但是就象你提到的,要写在 (( )) 中。
==============
if 之后的判断是test语法,而
if [表达式] 和
if test 表达式
是等价的
++++++++++++++++++++++++++++++++++++
test命令用法:
1)判断表达式
if test (表达式为真)
if test !表达式为假
test 表达式1 &ndash;a 表达式2 两个表达式都为真
test 表达式1 &ndash;o 表达式2 两个表达式有一个为真

2)判断字符串
test &ndash;n 字符串 字符串的长度非零
test &ndash;z 字符串 字符串的长度为零
test 字符串1=字符串2 字符串相等
test 字符串1!=字符串2 字符串不等

3)判断整数
test 整数1 &ndash;eq 整数2 整数相等
test 整数1 &ndash;ge 整数2 整数1大于等于整数2
test 整数1 &ndash;gt 整数2 整数1大于整数2
test 整数1 &ndash;le 整数2 整数1小于等于整数2
test 整数1 &ndash;lt 整数2 整数1小于整数2
test 整数1 &ndash;ne 整数2 整数1不等于整数2

4)判断文件
test File1 &ndash;ef File2 两个文件具有同样的设备号和i结点号
test File1 &ndash;nt File2 文件1比文件2 新
test File1 &ndash;ot File2 文件1比文件2 旧
test &ndash;b File 文件存在并且是块设备文件
test &ndash;c File 文件存在并且是字符设备文件
test &ndash;d File 文件存在并且是目录
test &ndash;e File 文件存在
test &ndash;f File 文件存在并且是正规文件
test &ndash;g File 文件存在并且是设置了组ID
test &ndash;G File 文件存在并且属于有效组ID
test &ndash;h File 文件存在并且是一个符号链接(同-L)
test &ndash;k File 文件存在并且设置了sticky位
test &ndash;b File 文件存在并且是块设备文件
test &ndash;L File 文件存在并且是一个符号链接(同-h)
test &ndash;o File 文件存在并且属于有效用户ID
test &ndash;p File 文件存在并且是一个命名管道
test &ndash;r File 文件存在并且可读
test &ndash;s File 文件存在并且是一个套接字
test &ndash;t FD 文件描述符是在一个终端打开的转载请注明文章来

命令行内循环:
a=0 && while [ $a -lt 10 ] ; do echo $a && a=`expr $a + 1` ; done

到此,关于“linux shell常用的脚本语句语法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI