if 的基本语法和判断

一、if的基本语法:

if [ command ];

then

符合该条件执行的语句

elif [ command ];

then

符合该条件执行的语句

else

符合该条件执行的语句

fi

二、文件/文件夹(目录)判断
[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。
[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。
[ -d DIR ] 如果 FILE 存在且是一个目录则为真。
[ -e FILE ] 如果 FILE 存在则为真。
[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。
[ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真。
[ -k FILE ] 如果 FILE 存在且已经设置了粘制位则为真。
[ -p FILE ] 如果 FILE 存在且是一个名字管道(F如果O)则为真。
[ -r FILE ] 如果 FILE 存在且是可读的则为真。
[ -s FILE ] 如果 FILE 存在且大小不为0则为真。
[ -t FD ] 如果文件描述符 FD 打开且指向一个终端则为真。
[ -u FILE ] 如果 FILE 存在且设置了SUID (set user ID)则为真。
[ -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 lastread则为真。
[ -S FILE ] 如果 FILE 存在且是一个套接字则为真。
[ FILE1 -nt FILE2 ] 如果 FILE1 has been changed more recentlythan FILE2, or 如果 FILE1 exists and FILE2 does not则为真。
[ FILE1 -ot FILE2 ] 如果 FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1不存在则为真。
[ FILE1 -ef FILE2 ] 如果 FILE1 和 FILE2 指向相同的设备和节点号则为真。

三、字符串判断[ -z STRING ] 如果STRING的长度为零则为真 ,即判断是否为空,空即是真;
[ -n STRING ] 如果STRING的长度非零则为真 ,即判断是否为非空,非空即是真;
[ STRING1 = STRING2 ] 如果两个字符串相同则为真 ;
[ STRING1 != STRING2 ] 如果字符串不相同则为真 ;
[ STRING1 ]  如果字符串不为空则为真,与-n类似

四、数值判断INT1 -eq INT2         INT1和INT2两数相等为真 ,=
INT1 -ne INT2         INT1和INT2两数不等为真 ,<>
INT1 -gt INT2          INT1大于INT1为真 ,>
INT1 -ge INT2         INT1大于等于INT2为真,>=
INT1 -lt INT2           INT1小于INT2为真,<</div>
INT1 -le INT2           INT1小于等于INT2为真,<=

五、复杂逻辑判断
-a 与-o 或! 非
exp1: 如果a>b且a
if (( a > b ))&& (( a < c ))
或者
if [[ $a > $b ]]&& [[ $a < $c]]
或者
if [ $a -gt $b -a $a -lt $c ]
exp2:如果a>b或a
if (( a > b )) || (( a < c))
或者
if [[ $a > $b ]] || [[ $a < $c]]
或者
if [ $a -gt $b -o $a -lt $c ]

时间: 2024-10-17 18:13:52

if 的基本语法和判断的相关文章

Shell中条件判断语法与判断条件

一,简介 Shell各种判断结构和运算符的用法是shell编程的基础,了解shell的判断.运算符和一些退出状态 对后面的学习有很重要的影响.shell有一个内部命令test经常用于对判断语句 进行测试一种或几种状态的条件是否成立 二. 判断条件 (1)Linux的shell中的测试命令,用于测试某种条件或某几种条件是否真实存在 测试命令是判断语句和循环语句中条件测试的工具,对判断和运算符的比较测试有很大的帮助. (2)测试条件为真,返回一个0值:      为假,返回一个非0整数值 测试命令有

smarty基本语法之判断,循环语句

条件判断语句: 1.基本句式: {if $name eq "James"} welcome, sir! {elseif $name eq "mimi"} welcome, mimi! {else} welcome whoerver you are . {/if} 2.条件修饰符: eq             等于 neq          不等于 gt            大于 lt             小于 循环语句: 1.循环语句之section {se

ThiinkPhP 3.2 控制器操作 配置文件 语法(判断,循环) 连接数据库

控制器操作 空操作 系统在找不到请求的方法的时候,会定位到__empty()方法处理,利用这个机制,我们可以对用户请求的不存在的所有操作进行统一处理. 空控制器 当系统请求找不到控制器,会定位到空控制器上EmptyController. 跨控制器调用 1.直接实例化 2.A() A()用来实例化其他控制器的. $obj->display("Manager/ManagerTest1") //调用的是模版 3.R() R()和A()基本一样,唯一不同的是R()函数在实例化控制器的时候

shell脚本基础 数值运算 判断 及if语句

数值运算 整数运算[三种,随便掌握一种即可]expr 数字 运算符 数字 [[email protected] ~]# expr 1 + 1(运算符号都是+ - * / 注:*需要\*.%是取余,余数只有0 1 2)2[[email protected] ~]# expr 45 \* 145 echo$[数字 运算符 数字][[email protected] ~]# echo $[89*89+454848*874851]397924235569 leti++ == i=i+1i+=2 == i

合并_01php基础语法(8days)笔记

一.入门指引 1.php是什么? PHP是什么? Hypertext Preprocessor,超文本预处理器 Personal Home Page,个人主页 是一种在服务器端执行的脚本语言,可嵌入到 HTML中,尤其适合 web 开发. ? php可以做什么? 网站,web程序 B/S架构 ? ? 命令行脚本 桌面应用程序 ? ? 二.安装Apache 制作一台服务器,来提高网页服务,只要安装了一个能提供网页服务的软件的电脑,就可以称之为网页服务器. 常见的网页服务器软件 Apache IIS

oc总结 --oc基础语法相关知识

m是OC源文件扩展名,入口点也是main函数,第一个OC程序: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { theme manager @autoreleasepool { NSLog(@"Hello, World!"); } return 0; } 预处理指令import会自动检验头文件有没有被包含过,防止重复包含,NSLOG是日志输出,OC字符串以@开头,自动换行

4.Shell 判断用户的参数

1.Shell 判断用户的参数 系统在执行mkdir命令时会判断用户输入的信息,即判断用户指定的文件夹名称是否已经存在,如果存在则提示报错:反之则自动创建. Shell脚本中的条件测试语法可以判断表达式是否成立,若条件成立则返回数字0,否则便返回其他随机数值. 条件测试语法:的执行格式如图4-16所示.切记,条件表达式两边均应有一个空格 按照测试对象来划分,条件测试语句可以分为4种: 文件测试语句: 逻辑测试语句: 整数值比较语句: 字符串比较语句. 文件测试即使用指定条件来判断文件是否存在或权

14Shell脚本—判断语句

判断语句 Shell脚本中的条件测试语法可以判断表达式是否成立,若条件成立则返回数字0,否则便返回其他随机数值. 条件测试语法的执行格式为 [ 条件表达式 ],切记,条件表达式两边均应有一个空格. 条件表达式也可以使用 "test 条件表达式" 格式来使用. 条件测试语句可以分为4种:文件测试语句.逻辑测试语句.整数值比较语句.字符串比较语句 1. 文件测试语句 -d 测试文件是否为目录类型 -e 测试文件是否存在 -f 判断是否为一般文件 -r 测试当前用户是否有权限读取 -w 测试

Shell语法 【if while for】

[if语法 测试条件 判断语句] 转自:http://lovelace.blog.51cto.com/1028430/1211353 [while for循环] 转自:https://blog.csdn.net/weixin_36586564/article/details/78681117 for 变量 in 列表 do command1 command2 ... commandN done 也可写成: for var in list; do 读取列表中的值 for test in Alaba