shell 脚本中的命令 'find with -exec'

Command 'find with -exec' within shell script

命令:

find . -name "database.*-10-15.sql.gz" -exec tar -rf backup.1015.sql.tar {} \;

从命令行运行完美。

但如果我将它放入脚本中,它就无法工作。

#!/bin/bash
find . -name \"database.*-10-15.sql.gz\" -exec tar -rf backup.1015.sql.tar {} \;

是否需要对引号进行转义? 对我来说,如果我输入:

,我会得到结果
find . -name "database.*"

运行 在 bash 脚本中

但是当我转义引号时我没有得到任何结果。

您也可以尝试通过在脚本中使用设置来调试脚本:

set -x

或 运行

bash -x scriptname

使用转义引号,您会发现您实际上也在搜索名称中的引号:

$ bash -x scriptname
+ find . -name '"database.*"'