字符串测试:
1.等值比较,字符串是否相同,等为真
==或者=都可以
[ $A == $B ]
[ $A = $B ]
[ “$A” == “$B” ]
[ “$A” = “$B” ]
2.不等比较,字符串是否不相同,不等为真
!=
3.>,< 很少用
4.-n string 测试指定字符串是否为空,空为真 #单目操作符
5.-s string 测试指定字符串是否不空,不空为真 #单目操作符
练习:
传递一个用户名参数给脚本,判断此用户名跟基本组的组名是否一致,显示结果
#!/bin/bash
#
if [ \`id -n -u $1\` = \`id -n -g $1` ]; then
echo "yiyang"
else
echo "buyiyang"
fi
优化:
#!/bin/bash
#
if ! id $1 &> /dev/null; then
echo "No such user."
exit 10
fi
if [ $1 = \`id -n -g $1` ]; then
echo "yiyang"
else
echo "buyiyang"
fi
练习:
写一个脚本,传递一个参数给脚本,如果参数为q,Q,qiut,exit或Quit就退出脚本;否则,就显示用户的参数。
#!/bin/bash
#
if [ $1 = 'q']; then
echo "Quiting..."
exit 0
elif [ $1 = 'Q' ]; then
echo "Quiting..."
exit 1
elif [ $1 = 'quit' ]; then
echo "Quiting..."
exit 2
elif [ $1 = 'Quit' ]; then
echo "Quiting..."
exit 4
elif [ $1 = 'exit' ]; then
echo "Quiting..."
exit 5
else
echo $1
fi