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.*"'
命令:
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.*"'