取路径的目录名:dirname取路径的文件名:basename

示例:

[root@Server3 Learn]#  basename /etc/passwdpasswd[root@Server3 Learn]# dirname /etc/passwd/etc[root@Server3 Learn]#

字符串测试

==:判断两个字符串是否相等。等号两端需要有空格。字符串可以用引号,也可以不用引号。!=:判断两个字符串是否不相等。>:判断字符串1是否大于字符串2。<:判断字符串1是否小于字符串2。-n "string":判断一个字符串是否为非空。非空为真,空为假。-z "string":判断一个字符串是否为空。空为真,非空为假。

示例1:

[root@Server3 Learn]# A=Hello[root@Server3 Learn]# B=Hi[root@Server3 Learn]# [ $A == $B ][root@Server3 Learn]# echo $?1[root@Server3 Learn]# [[ $A == $B ]][root@Server3 Learn]# echo $?1[root@Server3 Learn]# test $A == $B[root@Server3 Learn]# echo $?1[root@Server3 Learn]#

示例2:

[root@Server3 Learn]# echo $AHello[root@Server3 Learn]# echo $BHi[root@Server3 Learn]# [ "$A" != "$B" ][root@Server3 Learn]# echo $?0[root@Server3 Learn]#

示例3:

[root@Server3 ~]# [ -n "$A" ][root@Server3 ~]# echo $?1[root@Server3 ~]# [ -z "$A" ][root@Server3 ~]# echo $?0[root@Server3 ~]# echo $A[root@Server3 ~]#

命令行中直接调用bc进行数值计算

示例:

方法1:

[root@Server3 ~]# echo "scale=2;100/3;" | bc33.33[root@Server3 ~]#

方法2:

[root@Server3 ~]# bc <<< "scale=3;100/3;"33.333[root@Server3 ~]#

说明:

如果if判断中想要使用正则表达式,需要将中括号改为`expression`这种方式。

如:

if [[ $1 == ^[0-9]+$ ]];then    echo "$1 is int"fi