我有两个文件名
file1 = "my_random_forest_2021-08-11-094538.csv.zip"
file2 = "my_random_forest_2021-08-11-094538.csv.zip"
if [$file1 == $file2]; then
echo "matched"
在执行脚本时,它说:
test.sh: line 5: [my_random_forest_2021-08-11-094538.csv.zip: command not found
如何比较上述格式的文件名?
正确的语法应该是这样的
file1="my_random_forest_2021-08-11-094538.csv.zip"
file2="my_random_forest_2021-08-11-094538.csv.zip"
if [ $file1 = $file2 ]
then
echo "matched"
fi
声明变量时没有空格。
变量和方括号之间应该有空格。
如果之后不需要;
。如果你想在一行中添加if和then,你可以添加;
匹配将使用=
而不是==
。if
应该以fi
结束以关闭语句。
if [ "$file1" = "$file2" ]; then
echo "matched";
fi
在方括号和变量名之间缺少一个空格。如果没有空格,shell将解释"[my_random_forest_2021-08-11-094538.csv.zip"作为命令(不存在)