我试图写一个脚本,删除所有的.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