从zsh到bash的导出函数用于gnu parallel

前端之家收集整理的这篇文章主要介绍了从zsh到bash的导出函数用于gnu parallel前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何从zsh导出函数,以便我可以在gnu parallel中使用它?

例:

function my_func(){ echo $1;}
export -f my_func
parallel "my_func {}" :::  1 2

在bash中输出

1
2

而在zsh中它将输出错误消息

/bin/bash: my_func: command not found
/bin/bash: my_func: command not found

解决方法

zsh没有导出函数的概念. export -f somefunc将打印函数定义,它不会导出函数.

相反,您可以依赖于bash函数作为以()开头的常规变量导出的事实:

export my_func='() { echo "$1"; }'
parallel --gnu "my_func {}" ::: 1 2

猜你在找的Linux相关文章