解决代码问题 - 字符串身份测试

时间:2014-06-07 20:50:16

标签: shell

请获取shell脚本的帮助。我真的不明白问题出在哪里。在我写入输入变量的地方/例如/home/Kovi/Deskop/netlist.exe我仍然得到真正的答案,但扩展名" exe"不是" scs"。我也试着" =="但它没有奏效。请一些建议。非常感谢你。

echo -n "Insert Entire Path (with file name and it's extension) of Input Netlist > "
read Input
if [ "${Input##*.}"="scs" ];
    then echo "Patch verification is succesful.;
    else echo "Patch verification is failed, script was aborted. File dont exist or is empty or unreadable or is not spectre netlist."
         error_exit;
fi

1 个答案:

答案 0 :(得分:0)

必须在等号周围加上空格。

if [ "${Input##*.}" = "scs" ];

[是一个命令名,不是if语句语法的一部分,它需要为要评估的表达式的每个部分使用单独的参数。也就是说,它不会解析a=b作为ab之间的比较;你必须写a = b