下面的 shellscript 有什么错误,因为我在运行此脚本时遇到"fi"错误?


fileloc=/shellscript/ScriptDeleteLogs/Testfiles/Testdata/*
for fname in fileloc
do
name=$(basename "$fileloc")
if [ $name = $omitfiles ] then
echo $name
fi
done

我正在尝试从目录中获取文件名,但是当我应用过滤器时,即如果条件它会抛出错误,即意外标记"fi"和"then"附近的语法错误格式化条件:

if [ "$name" != "$omitfiles" ]; then echo $name fi

要么在 if 条件后插入换行符:

...
if [ "$name" = "$omitfiles" ]
then
...

或者你在条件后面放一个分号:

...
if [ "$name" = "$omitfiles" ]; then
...

当然,条件中的变量应该用双引号引起来。

最新更新