4, shell 第四部分

[root@node1 ~]# cat a.sh 
#! /bin/bash
read -p "please input:" a  b
expr $a + $b 
[root@node1 ~]# sh a.sh 
please input:a b
expr: 非整数参数
[root@node1 ~]#

[root@node1 ~]# cat a.sh 
#! /bin/bash
read -p "please input:" a  b
expr $a + $b &>/dev/null 
[root@node1 ~]# sh a.sh 
please input:a b
[root@node1 ~]#


条件测试语法:
格式1: test 测试表达式
格式2: [ 测试表达式 ]
格式3: [[ 测试表达式 ]]

Test 用法:
[root@node1 ~]# ll
总用量 8
-rw-------. 1 root root 1256 5月   6 2018 anaconda-ks.cfg
-rwxrwxrwx. 1 root root   68 11月 22 22:45 a.sh
[root@node1 ~]# 
[root@node1 ~]# 
[root@node1 ~]# test -f a.sh && echo 1 || echo 0
1
[root@node1 ~]# test ! -f a.sh && echo 1 || echo 0
0
[root@node1 ~]# arg=
[root@node1 ~]# test -n "$arg" &&echo 1 ||echo 0
0
[root@node1 ~]# test ! -n "$arg" && echo 1 || ech0 0
1
[root@node1 ~]#


单中括号用法:
[root@node1 ~]# ll
总用量 8
-rw-------. 1 root root 1256 5月   6 2018 anaconda-ks.cfg
-rwxrwxrwx. 1 root root   68 11月 22 22:45 a.sh
[root@node1 ~]# [ -f a.sh ] && echo 1 || echo 0
1
[root@node1 ~]# [ ! -f a.sh ] && echo 1 || echo 0
0
[root@node1 ~]#



[root@node1 ~]# ll
总用量 8
-rw-------. 1 root root 1256 5月   6 2018 anaconda-ks.cfg
-rwxrwxrwx. 1 root root   68 11月 22 22:45 a.sh
[root@node1 ~]# [  -f a.sh  ] || echo 1     // ||代表不成立才执行
[root@node1 ~]# rm -f a.sh
[root@node1 ~]# [  -f a.sh  ] || echo 1
1
[root@node1 ~]#

双中括号用法:



[root@node1 ~]# [ -f file && -d root  ] && echo 1 || echo 0
-bash: [: 缺少 `]0
[root@node1 ~]# [[ -f file && -d root  ]] && echo 1 || echo 0
0
[root@node1 ~]#

针对文件的比较测试:

4, shell 第四部分

针对字符串的比较测试:

4, shell 第四部分

[root@node1 ~]# test="oldboy"

[root@node1 ~]# [ "$test" = "oldboy" ] &&echo 1||echo 0

1

[root@node1 ~]#

4, shell 第四部分

[root@node1 ~]# test="ww.baidu.com.#*"

[root@node1 ~]# test2="ww.baidu.com.#*"

[root@node1 ~]#

[root@node1 ~]# [ "$test" = "$test2"  ] &&echo 1||echo 0

1

[root@node1 ~]# [ "${test}" = "${test2}"  ] &&echo 1||echo 0

1

[root@node1 ~]#

4, shell 第四部分

4, shell 第四部分

 

4, shell 第四部分

上一篇:FPM-FastCGI 进程管理器


下一篇:1,shell 批量验证防火墙端口是否开通