./cleanlog.sh: line 8: [0: command not found

深藏阁楼爱情的钟 2021-10-13 03:53 281阅读 0赞

  写了个shell脚本清除message日志内容,结果每次执行都报错

  1. ./cleanlog.sh: line 8: [0: command not found

  具体代码如下:

  1. #!/bin/bash
  2. #清除日志脚本
  3. LOG_DIR=/var/log
  4. #uid为0的时候才是root
  5. ROOT_UID=0
  6. #要使用root用户来运行,因此对当前用户进行判断
  7. if ["$ROOT_UID" -ne "$UID"]
  8. then
  9. echo "当前用户不具备root权限"
  10. exit 1
  11. fi
  12. #如果切换到指定目录不成功,退出
  13. cd ${LOG_DIR} || {
  14. echo "切换目录失败!" >&2
  15. exit 1
  16. }
  17. #用户权限和路径都正确,进行清空
  18. cat /dev/null > message && {
  19. echo "日志清空成功"
  20. exit 0
  21. }
  22. echo "日志清空失败!"
  23. exit 1

  逐字逐句的比对了半天也没看出来跟网上的示例有什么不同的地方。

  最后忽然想起来[]这个符号有特殊要求。里面与代码之间要有空格隔开的。

  隔开之后,问题完美解决。

发表评论

表情:
评论列表 (有 0 条评论,281人围观)

还没有评论,来说两句吧...

相关阅读