从zsh导出功能到bash以在gnu并行中使用 [英] export function from zsh to bash for use in gnu parallel

查看:86
本文介绍了从zsh导出功能到bash以在gnu并行中使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何从zsh导出函数,以便可以在gnu并行中使用它?

How do I export a function from zsh, so that I can use it in gnu parallel?

示例:

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

在bash中将输出

1
2

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

whereas in zsh it will output error messages

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

推荐答案

自2014年以来发生了很多变化.

A lot has changed since 2014.

今天,您只需这样做:

# Activate env_parallel function (can be done in .zshenv)
. `which env_parallel.zsh`

function my_func(){ echo $1;}
env_parallel "my_func {}" :::  1 2

如果您的环境很大:

# Activate env_parallel function (can be done in .zshenv)
. `which env_parallel.zsh`

# Record which environment to ignore
env_parallel --session

function my_func(){ echo $1;}
env_parallel "my_func {}" :::  1 2

这篇关于从zsh导出功能到bash以在gnu并行中使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆