bash – 意外错误附近的语法错误’fi’

前端之家收集整理的这篇文章主要介绍了bash – 意外错误附近的语法错误’fi’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图写一个脚本,删除所有的.jpg结尾的奇数。这是我的代码
#!/bin/bash
echo "start\n"
for f in *.jpg
do
  fname=$(basename "$f")
  echo "fname is $fname\n"
  fname="${filename%.*}"
  echo "fname is $fname\n"
  if[$((fname %  2)) -eq 1 ] then
    echo "removing $fname\n"
    rm $f
  fi
done

当我运行它输出开始,然后说“语法错误接近意外的标记”fi’“

当我在之后就行了,如果它说“语法错误附近意外的令牌”,那么’“

我该如何解决

除了在新线上,您还需要在[,这是BASH中的特殊符号之前和之后的一个空格。
#!/bin/bash
echo "start\n"
for f in *.jpg
do
  fname=$(basename "$f")
  echo "fname is $fname\n"
  fname="${filename%.*}"
  echo "fname is $fname\n"
  if [ $((fname %  2)) -eq 1 ]
  then
    echo "removing $fname\n"
    rm "$f"
  fi
done

猜你在找的Bash相关文章