如何獲得函式使用的查找結果?我一直得到空白結果。
#!/bin/bash
#functions
function codec_scan () {
echo "paremter 1 is this: $1" # >> $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 \"\{}\" \;
uj5u.com熱心網友回復:
\"\{}\"是帶里面的文字字符。這是一個鞋底。之前什么都沒有,之后什么都沒有。除非你想添加文字字符。"{}{} "
是bash -c 'script...'。后面的引數是腳本的引數,而不是函式的引數。每個函式都有自己的$1 $2 ...位置引數,它們與腳本分開。他們爭論從bash -c開始$0,而不是從$1,看man bash,就像bash -c 'script..' <$0> <$1> <$2> ...
你要:
find .... -exec bash -c 'codec_scan "$@"' _ {} \;
不要function在 bash 中使用。只是codec_scan() {。請參閱https://wiki.bash-hackers.org/scripting/obsolete
您可能對-iname.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/434309.html
