拓展
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