请告知我的代码有什么问题,(我在操作系统 linux 和 solaris 上运行这段代码)
我没有得到这条线:
"file ended with .tmp"
例子:
我需要验证 $FILE 是否以.tmp或.old等结尾...
以下示例代码设置参数:FILE=hosts.tmp
所以我预计 grep 将匹配“.tmp ”,因为.tmp是最后一个字符
- 与其他令牌相同,如“,TEMP”或“previos”或“-OLD”等
代码(ksh 脚本)
TOKENS=".tmp .old .previous -log temp ,TEMP -OLD previos"
FILE=hosts.tmp
for TOKEN in ` echo $TOKENS `
do
[[ ` echo $FILE | grep -c '$TOKEN$' ` -eq 1 ]] && echo "file ended with $TOKEN"
done
您的代码有两个问题:
1)当令牌被传递给 grep 时,你需要
-
像这样逃避:2)您使用的是单引号,这意味着变量没有被扩展,用引号替换: