xargs后调用bash自定义函数(写该函数文本到脚本, 并引导PATH)

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 
  1. 获得函数to_markdown_href_func的文本 ,写文本到 /tmp/bin/to_markdown_href_func.sh
shell 复制代码
declare -f to_markdown_href_func | tee $F
  1. 在该脚本文件/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
  1. 将函数所在文件 /tmp/bin/to_markdown_href_func.sh 的目录 /tmp/bin/ 放入PATH下
shell 复制代码
export PATH=$PATH:$BIN
  1. 接着可以在xargs中使用该函数了
shell 复制代码
#

find . -type f | xargs -I% to_markdown_href_func.sh %