2013-03-01 79 views
-1

我正在设置一个脚本,将svn add所有新的非颠覆文件转换为subversion,然后执行提交。在bash脚本中查找“缺少参数”错误

#!/bin/bash 
find /path/to/uploads -type f -mmin -5 -not -iwholename 
'*.svn*'|xargs -r /usr/bin/svn add 
sleep 2 
/usr/bin/svn commit /path/to/uploads -m auto_upload 

当我运行这个从壳我得到:

find: missing argument to `-iwholename' 
upload_images.sh: line 3: *.svn*: command not found 

我需要跳脱出星号什么的?我很困惑。我在这里做错了什么?

+0

当我没有正确地用'''\'''结尾时,用** - exec **看到这个错误 – 2016-06-21 17:09:14

回答

5

您的find命令中间有一个换行符。这将导致bash将其解释为两个单独的命令。要么使之成为单行:

find /path/to/uploads -type f -mmin -5 -not -iwholename '*.svn*'|xargs -r /usr/bin/svn add 

或使用\继续吧:

find /path/to/uploads -type f -mmin -5 -not -iwholename \ 
'*.svn*'|xargs -r /usr/bin/svn add 

听起来也许副本+粘贴错误。