显示脚本无法在最后一条命令上运行。
在终端中单独运行时,该命令运行良好。我尝试将!...部分放入参数中,使用各种括号和换行符甚至使用完整路径将其移动。我对替代解决方案不感兴趣-我对为什么该解决方案不能在脚本中特别工作感到兴趣。
#!/bin/bash
mkdir alllogs
for i in $(locate *.log); do cp $i alllogs/; done
tar -zcvf alllogs/logs.gz alllogs/*
rm -v alllogs/!('logs.gz')
该脚本从Linux系统收集各种日志,并将其压缩为单个文件,之后,它会擦除日志副本,而仅保留压缩文件。但是,删除副本的命令在通过脚本运行时失败,但在终端上可以正常工作。给出的错误是:
./x.sh: line 7: syntax error near unexpected token `('
./x.sh: line 7: `rm -v alllogs/!('logs.gz')'
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。