xargs后调用bash自定义函数 需要3步骤,如下
shell
function to_markdown_href_func() {
fp=$1
#echo $fp
echo -e "\n[${fp}](${PREFIX}/${fp})"
}
shell
BIN=/tmp/bin/
F=$BIN/to_markdown_href_func.sh
mkdir -p $BIN
- 获得函数to_markdown_href_func的文本 ,写文本到 /tmp/bin/to_markdown_href_func.sh
shell
declare -f to_markdown_href_func | tee $F
- 在该脚本文件/tmp/bin/to_markdown_href_func.sh 开头增加 '#!/usr/bin/env bash' 解释器, 末尾增加以全部参数调用该函数的语句
shell
cat << EOF > $F
#!/usr/bin/env bash
$(cat $F)
#echo 收到参数: "\$*", 即将转给函数to_markdown_href_func
to_markdown_href_func \$*
EOF
```shell
chmod +x $F
#cat $F
- 将函数所在文件 /tmp/bin/to_markdown_href_func.sh 的目录 /tmp/bin/ 放入PATH下
shell
export PATH=$PATH:$BIN
- 接着可以在xargs中使用该函数了
shell
#
find . -type f | xargs -I% to_markdown_href_func.sh %