这个问题已经在这里有一个答案:
- 是双方括号[[]]优选在单一方括号[]中击? 8个回答
这可能已经回答了,但我要问它反正。 我有一个脚本(两个版本comp.sh
) -
#!/bin/sh
export tDay=$(date '+%Y%m%d')
newfile="filename_$tDay"
filename="filename_20120821100002.csv"
echo $newfile $filename
if [ $filename = *$newfile* ]
then
echo "Matched"
else
echo "Not Matched!"
fi
Output:
$ ./comp.sh
filename_20120821 filename_20120821100002.csv
Not Matched!
和
#!/bin/sh
export tDay=$(date '+%Y%m%d')
newfile="filename_$tDay"
filename="filename_20120821100002.csv"
echo $newfile $filename
if [[ $filename = *$newfile* ]]
then
echo "Matched"
else
echo "Not Matched!"
fi
$ comp.sh
filename_20120821 filename_20120821100002.csv
Matched
有人能解释我为什么会有差别?
此外-在什么情况下应[ ]
使用与[[ ]]
反之亦然?