发布时间:2026-10-03 03:29:01 浏览次数:3
当运行 shell 脚本或者执行 Linux 命令时,有时会出现"Syntax Error"或类似的错误提示。
原因:
解决办法:
示例:
#!/bin/bashfor f in $(ls /var/); do #遍历/var/目录 before=$(stat -c %x $f) #获取文件最后修改时间 echo "processing $f" tar -cf $f.tar $f #将文件打成压缩包 rm $f #删除文件 after=$(stat -c %x $f.tar) #获取压缩包最后修改时间 echo "$f was compressed at $after" #输出压缩时间done# 当运行该脚本时,提示如下错误:# line 4: syntax error near unexpected token `done'# line 4: `done'在该脚本中,原因是在 for 循环的最后没有添加 done,因此解决方法是在循环的最后添加 done:
#!/bin/bashfor f in $(ls /var/); do #遍历/var/目录 before=$(stat -c %x $f) #获取文件最后修改时间 echo "processing $f" tar -cf $f.tar $f #将文件打成压缩包 rm $f #删除文件 after=$(stat -c %x $f.tar) #获取压缩包最后修改时间 echo "$f was compressed at $after" #输出压缩时间done