test可以理解成和[ ]的作用是一样的,[[ ]]在逻辑与和逻辑或的时候,可以拆分成多个[ ]
[ cmd -a cmd ]
#!/bin/bash
a=23;
if [ $a -gt 18 -a $a -lt 30 ]
then
echo "young && handsome"
else
echo "just so so ...."
fi
test cmd -a cmd
#!/bin/bash
a=23;
if test $a -gt 18 -a $a -lt 30
then
echo "young && handsome"
else
echo "just so so ...."
fi
[[ cmd && cmd ]]
#!/bin/bash
a=23;
if [[ $a -gt 18 && $a -lt 30 ]]
then
echo "young && handsome"
else
echo "just so so ...."
fi
[ cmd ] && [ cmd ]
#!/bin/bash
a=23;
if [ $a -gt 18 ] && [ $a -lt 30 ]
then
echo "young && handsome"
else
echo "just so so ...."
fi