我正在尝试使用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 ::
任何帮助将不胜感激!
答案 0 :(得分:0)
-c
选项将一个参数,而不是
/bin/sh -c ${DIR_TEMP}/${NAME}.sort "$TARGET" {}
DO
/bin/sh -c "$DIR_TEMP/$NAME.sort $TARGET '{}'"