拓展
basename & dirname

basename 命令

basename 是去除目录后剩下的名字,取文件名

例:  

[root@linux-server ~]# temp=/home/temp/1.test

[root@linux-server ~]# base=`basename $temp`

[root@linux-server ~]# echo $base

1.test


dirname 是获取目录名  

例:

[root@linux-server ~]# temp=/home/temp/1.test

[root@linux-server ~]# dir=`dirname $temp`

[root@linux-server ~]# echo $dir

/home/temp

shell编程-条件结构

测试-----test 条件

#条件为真返回 0,条件为假返回 1 #语法------[ 条件 ]

test 能够理解3中类型的表达式  

1.文件测试

2.字符串比较

3.数字比较

字符串

-n STRING

   the length of STRING is nonzero

   -n  字符串的长度 不是零成功。

-z STRING

   the length of STRING is zero

    -z   字符串长度。是零成功 #对于未定义或赋予空值的变量将是为空串。

STRING1 = STRING2  (等于)

          the strings are equal

STRING1 != STRING2  (不等于)

          the strings are not equal

# vim string.sh

#!/usr/bin/bash

while : #:默认值为真

do

read -p "请输入你的密码: " a

pass=123456

if [ -z $a ];then

       echo "您输入的密码不能为空"

       exit 1

else

       if [ $a = $pass ];then

               echo "登录成功"

               break

       else

               echo "您的密码输入有误,请重新输入"

       fi

fi

done