Exec 不输出结果到函数
Exec not outputting result to function
如何获取函数要使用的查找结果?我总是得到空白结果。
#!/bin/bash
#functions
function codec_scan () {
echo "paremter 1 is this: " # >> $fulllog
}
#exporting
export -f codec_scan
#Main Code
find . -type f \( -name "*.avi" -o -name "*.AVI" -o -name "*.m4v" -o -name "*.mkv" -o -name "*.mp4" -o -name "*.MP4" \) -exec bash -c codec_scan \"\{}\" \;
\"\{}\"
是 文字 个字符 "
,里面有 {}
。这是鞋底 {}
。之前没有,之后也没有。除非你想添加文字"
个字符。
是bash -c 'script...'
。后面的参数是 脚本 的参数,而不是函数的参数。每个函数都有自己的 ...
个位置参数,它们与脚本是分开的。他们对 bash -c
的论证是从 [=19=]
开始的,而不是从 </code> 开始的,参见 <code>man bash
,就像 bash -c 'script..' <[=22=]> <> <> ...
你想要:
find .... -exec bash -c 'codec_scan "$@"' _ {} \;
不要在 bash 中使用 function
。只是 codec_scan() {
。参见 https://wiki.bash-hackers.org/scripting/obsolete
您可能对-iname
感兴趣。
如何获取函数要使用的查找结果?我总是得到空白结果。
#!/bin/bash
#functions
function codec_scan () {
echo "paremter 1 is this: " # >> $fulllog
}
#exporting
export -f codec_scan
#Main Code
find . -type f \( -name "*.avi" -o -name "*.AVI" -o -name "*.m4v" -o -name "*.mkv" -o -name "*.mp4" -o -name "*.MP4" \) -exec bash -c codec_scan \"\{}\" \;
\"\{}\"
是 文字 个字符 "
,里面有 {}
。这是鞋底 {}
。之前没有,之后也没有。除非你想添加文字"
个字符。
是bash -c 'script...'
。后面的参数是 脚本 的参数,而不是函数的参数。每个函数都有自己的 ...
个位置参数,它们与脚本是分开的。他们对 bash -c
的论证是从 [=19=]
开始的,而不是从 </code> 开始的,参见 <code>man bash
,就像 bash -c 'script..' <[=22=]> <> <> ...
你想要:
find .... -exec bash -c 'codec_scan "$@"' _ {} \;
不要在 bash 中使用 function
。只是 codec_scan() {
。参见 https://wiki.bash-hackers.org/scripting/obsolete
您可能对-iname
感兴趣。