您当前的位置:首页 > 计算机 > 系统应用 > Linux

如何在 xargs 中使用自定义函数

时间:12-14来源:作者:点击数:

当我们想在 xargs(或者 flock 等其他子程序中)使用函数时,会发现提示 没有那个文件或目录 ,如下例所示:

exec 2>&1
function c()
{
    wc -c $1
}

ls *sed* |xargs -I{} bash -c "c {}"
echo ret_code is $?
bash: c:未找到命令
bash: c:未找到命令
ret_code is 123

类似 环境变量,要让函数在子进程中可见也需要将函数导出,方法是 export -f 函数,例如下面这个例子

exec 2>&1
function c()
{
    wc -c $1
}

export -f c
ls *sed* |xargs -I{} bash -c 'c {}'
echo ret_code is $?
1835 不死的 sed.org
805 sed 中的 alpha 到底包含哪些字符 .org
ret_code is 0
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐