Linux之shell编程:if语法「建议收藏」

Linux之shell编程:if语法「建议收藏」1、if的基本格式if[参数];then符合该条件执行的语句elif[参数];then符合该条件执行的语句else符合该条件执行的语句fi2、参数内容单文件判断????????????[-afile]如果file存在则为真[-bfile]如果file存在且是一个块特殊文件则为真[-cfile]如果file存在且是一个字特殊文件则为真[-dfile]如…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1、if的基本格式

if [ 参数 ];then
符合该条件执行的语句
elif [ 参数 ];then
符合该条件执行的语句
else
符合该条件执行的语句
fi

2、参数内容

单文件判断???

[-a file]  如果file存在则为真
[-b file]  如果file存在且是一个块特殊文件则为真 
[-c file]  如果file存在且是一个字特殊文件则为真
[-d file]  如果file文件存在且是一个目录则为真
-d前的!是逻辑非 
例: if [ ! -d $lcd_path/$par_date ] 
表示后面的那个目录不存在,则执行后面的then操作 

[-e file]  如果file文件存在则为真 
[-f file]  如果file存在且是一个普通文件则为真
[-g file]  如果file存在且已经设置了SGID则为真(SUID 是 Set User ID, SGID 是 Set Group ID的意思) 
[-h file]  如果file存在且是一个符号连接则为真 
[-k file]  如果file存在且已经设置粘制位则为真 

当一个目录被设置为"粘制位"(用chmod a+t),则该目录下的文件只能由 
一、超级管理员删除 
二、该目录的所有者删除 
三、该文件的所有者删除 
也就是说,即便该目录是任何人都可以写,但也只有文件的属主才可以删除文件。 
例: #ls -dl /tmp 
drwxrwxrwt 4 root    root  ......... 
注意other位置的t,这便是粘连位。

[-p file]  如果file存在且是一个名字管道(F如果O)则为真 
[-r file]  如果file存在且是可读的则为真 
[-s file]  如果file存在且大小不为0则为真 
[-t FD]    如果文件描述符FD打开且指向一个终端则为真
[-u file]  如果file存在且设置了SUID(set userID)则为真
[-w file]  如果file存在且是可写的则为真
[-x file]  如果file存在且是可执行的则为真 
[-O file]  如果file存在且属有效用户ID则为真
[-G file]  如果file存在且属有效用户组则为真
[-L file]  如果file存在且是一个符号连接则为真 
[-N file]  如果file存在and has been mod如果ied since it was last read则为真 
[-S file]  如果file存在且是一个套接字则为真

双文件比较???
[file1 –nt file2]如果file1 has been changed more recently than file2或者file1 exists and file2 does not则为真 
[file1 –ot file2]如果file1比file2要老,或者file2存在且file1不存在则为真
[file1 –ef file2]如果file1和file2指向相同的设备和节点号则为真
[-o optionname]如果shell选项“optionname”开启则为真

 
字符串判断???
[-z string]              “string”的长度为零则为真
[-n string] or [string]  “string”的长度为非零non-zero则为真
[sting1==string2]         如果2个字符串相同则为真。
“=”may be used instead of “==”for strict posix compliance
[string1!=string2]        如果字符串不相等则为真
[string1<string2]
如果“string1”sorts before“string2”lexicographically in the current locale则为真 
[arg1 OP arg2]
“OP”is one of –eq,-ne,-lt,-le,-gt or –ge.These arithmetic binary oprators return true if “arg1”is equal to,not equal to,less than,less than or equal to,greater than,or greater than or equal to“agr2”,respectively.“arg1”and “agr2”are integers. 

3、注意事项

if [ x${var} = xAAA ]  x是为防止var为空时出现语法错误
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/170868.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 一码中_amp是什么意思

    一码中_amp是什么意思每日一码将每天看到的优秀的代码或者特别的实现,记录下来a&b赋值问题_2019218_Q&Aa.x//这时a.x的值是多少?b.x//这时b.x的值是多少

  • Codeforces 110B-Lucky String(技能)

    Codeforces 110B-Lucky String(技能)

  • IP地址分类及划分「建议收藏」

    IP地址分类及划分「建议收藏」IP地址分类IP地址由4段数据构成,每段1字节,8位二进制数。根据网络号和主机号所占位数的不同,将IP地址分为四类。A类地址A类IP地址,第一段一字节数据表示网络号,剩下三段表示主机号。规定网络号最高位必须为0,则可以表示00000001-01111111,即126(除去全0和全1)个网络,剩下的3个字节数据可以表示2^24-2个主机。A类子网掩码255.0.0.0.B类地址B类IP地址,前两段2个字节数据表示网络号,剩下两段表示主机号。规定网络号最高位必须为10,则范围从100000000

  • Charles打断点修改请求数据&响应数据

    Charles打断点修改请求数据&响应数据

  • Oracle基础 各种语句的定义格式

    Oracle内建数据类型一、 字符数据1、 char(size)2、 varchar2(size) 最常用,最大长度4000字节3、 nvhar(size)、nvarchar(size)4、 varc

    2021年12月20日
  • Eric6安装问题

    最近开始学习python,一开始用的开发环境是IDLE,这个开发环境适合新手,安装比较简单,对初学者来说也够使用。但是最近又发现了一个开发环境Eric6,使用起来更加方便,但是安装比较麻烦。下面说说安装步骤:安装环境:win764位python2.7网址:https://www.python.org/PyQt4网址:https://riverbankcomputing.co

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号