我有这样的 shell 脚本来从备份文件复制到每周目录:
#!/bin/sh
find . type f \( -iname "SS1*.tar" -o -iname "SS2*.tar" -o -iname "SS3*.tar" -o -iname "SS4*.tar"\) -exec cp {} /backup_file/backup/weekly \;
因此,在执行它之后,我收到一条错误消息:“表达式无效”。
请帮我解决这个问题。
答案1
您有两个语法错误:
type f
必须是-type f
。- 你之前需要一个空间
\)
。
所以固定命令:
find . -type f \( -iname "SS1*.tar" -o -iname "SS2*.tar" -o -iname "SS3*.tar" -o -iname "SS4*.tar" \) -exec cp {} /backup_file/backup/weekly \;
答案2
更简单:find . -type f -iname "SS[1234]*.tar" -exec cp {} /backup_file/backup/weekly \;