shell编程---条件判断

一.shell编程之条件判断

1.整数测试

a.条件测试的表达式

[ expression ]

[[ expression ]]

test expression

b.整数比较

-eq: 测试两个整数是否相等;比如 $A -eq $B

-ne: 测试两个整数是否不等;不等,为真;相等,为假;

-gt: 测试一个数是否大于另一个数;大于,为真;否则,为假;

-lt: 测试一个数是否小于另一个数;小于,为真;否则,为假;

-ge: 大于或等于

-le:小于或等于

c.命令的间逻辑关系

逻辑与: &&

第一个条件为假时,第二条件不用再判断,最终结果已经有

第一个条件为真时,第二条件必须得判断

逻辑或: || 第一个条件为真时,第二条件不用再判断

逻辑非: 取反

存在就添加用户

# id username || useradd username

如果用户存在,就显示用户已存在;否则,就添加此用户

# id user1 && echo "user1 exists." || useradd user1

如果用户不存在,就添加;否则,显示其已经存在

# ! id user1 && useradd user1 || echo "user1 exists."

如果用户不存在,添加并且给密码;否则,显示其已经存在

# ! id user1 && useradd user1 && echo "user1" | passwd --stdin user1 || echo "user1 exists."

2.条件判断,控制结构

单分支if语句

if 判断条件; then

statement1

statement2

...

fi

双分支的if语句

if 判断条件; then

statement1

statement2

...

else

statement3

statement4

...

fi

多分支的if语句

if 判断条件1; then

statement1

...

elif 判断条件2; then

statement2

...

elif 判断条件3; then

statement3

...

else

statement4

...

fi

时间: 2024-10-11 01:32:00

shell编程---条件判断的相关文章

Shell编程——条件判断(2)

Shell编程之条件判断 条件测试操作 test命令 测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值 格式1:test 条件表达式 格式2:[ 条件表达式 ] 文件测试[ 操作符 文件或目录 ]常用的测试操作符-d:测试是否为目录-e:测试目录或文件是否存在-f:测试是否为文件-r:测试当前用户是否有权限读取-w:测试当前用户是否有权限写入-x:测试当前用户是否有权限执行整数值比较[ 整数1 操作符 整数2 ]常用的测试操作符-eq:等于-ne:不等于-gt:大于-

shell编程 条件判断式----利用 case ..... esac 判断

条件判断式----利用 case ..... esac 判断 case  $变量名称 in   <==关键词为 case ,还有变量前有钱字号 "第一个变量内容")   <==每个变量内容建议用双引号括起来,关键词则为小括号 ) 程序段 ;;            <==每个类别结尾使用两个连续的分号来处理! "第二个变量内容") 程序段 ;; *)                  <==最后一个变量内容都会用 * 来代表所有其它值 不包含

shell编程 条件判断式----利用 if .... then ----多重

条件判断式----利用 if .... then ----多重 在同一个数据的判断中,如果该数据需要进行多种不同的判断时,应该怎么作?举例来说,上面的 sh06.sh 脚本中,我们只要进行一次 $yn 的判断就好 (仅进行一次 if ),不想要作多次 if 的判断. 此时你就得要知道底下的语法了: # 一个条件判断,分成功进行与失败进行 (else) if [ 条件判断式 ]; then 当条件判断式成立时,可以进行的指令工作内容: else 当条件判断式不成立时,可以进行的指令工作内容: fi

shell编程-条件判断式

条件判断式主要有以下6种类型: [[email protected] test]# ls -l total 8 drwxr-xr-x 2 root root 4096 Jan 17 19:28 shell -rw-r--r-- 1 root root 4 Jan 17 19:29 test.sh [[email protected] test]# [ -d test.sh ] && echo "yes" || echo "no" no [[email

Linux学习 -- Shell编程 -- 条件判断

按照文件类型进行判断 两种格式 test -e /root/install.log [ -e /root/install.log ]   注意空格  适合用于脚本中 echo $?可以看到结果 [ -d /root ] && echo yes || echo no 按照文件权限进行判断 两个文件之间进行比较 eg.   [ test.txt -ef test.txt.hard ] && echo yes || echo no 两个整数之间比较 两个字符串之间比较 多重条件判

shell 编程 -- 条件判断

1.按照文件类型进行判断(常用的)-b 判断该文件是否存在-d 判断是否存在,并且是否为目录(是目录就为真)-e 判断该文件是否存在(存在为真)-f 判断文件是否存在,并且是否为普通文件(是普通文件为真)-L 判断该文件是否存在.并且是否为符号链接文件(是符号链接文件为真) 2.按照文件权限进行判断(常用)注意:这里的判断是区分拥有者.所属群.其他者,只要这三个中有任意一个成立就为真-r 判断文件是否存在,并且是否拥有读写权限(有读权限为真)-w 判断文件是否存在,并且是否拥有写权限(有写权限为

Linux Shell编程 条件判断语法

if条件判断语句 单分支 if 条件语句 语法格式: if [条件判断式];then 程序 fi 或者 if [条件判断式] then 程序 fi 在使用单分支 if 条件查询时需要注意几点: if 语句使用 fi 结尾,和一般语言使用大括号结尾不同. [条件判断式] 就是使用 test 命令判断,所以中括号和条件判断式之间必须有空格. then 后面跟符合条件之后执行的程序.可以放在 [] 之后,用";"分隔:也可以换行写入,就不需要";": 示例:通过脚本判断根

shell中条件判断if中的-z到-d的意思

shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真. [ -d FILE ] 如果 FILE 存在且是一个目录则为真. [ -e FILE ] 如果 FILE 存在则为真. [ -f FILE ] 如果 FILE 存在且是一个普通文件则为真. [ -g FILE ] 如果 FILE 存在且已经设置了SGID则

Shell脚本---条件判断

面向过程     顺序执行     选择执行:if;case     循环执行:for;while;until   循环需有退出条件 选择执行(选择执行的前提,就是条件测试)    条件测试方式(测试条件)     bash命令测试          bash命令有命令执行状态返回值          $?:用于上一条执行的命令状态返回值          0:成功执行          1-255:失败          可以使用exit命令,在脚本中自定义脚本状态返回值,如果不定义,脚本的状