传递参数以查找脚本

时间:2017-07-19 15:59:22

标签: shell find exec sh

我正在尝试使用find和-exec来处理文件并想要调用shell脚本,但似乎无法弄清楚如何将变量传递给该脚本:

DIR_TEMP='/tmp'
NAME='foo'
TARGET='/tmp/target'
find . -type f -name \*.ko.gz -exec /bin/sh -c ${DIR_TEMP}/${NAME}.sort "$TARGET" {} \;

/tmp/foo.sort的内容

 #!/bin/sh
 echo "called, 0 :$0:, 1 :$1:, 2 :$2:" >> /tmp/debug.txt

我似乎得到的只是:

called, 0 :/tmp/foo.sort:, 1 ::, 2 ::

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

-c选项将一个参数,而不是

/bin/sh -c ${DIR_TEMP}/${NAME}.sort "$TARGET" {}

DO

/bin/sh -c "$DIR_TEMP/$NAME.sort $TARGET '{}'"