当前位置 : 主页 > 手机开发 > 其它 >

environment-variables – 使用GNU Parallel继承环境变量

来源:互联网 收集:自由互联 发布时间:2021-06-19
我想在GNU Parallel中继承环境变量.我有几个’脚本'(实际上只是命令列表,设计用于GNU Parallel),每个都有数百行,所有行都调用不同的外部程序.但是,这些外部程序(不受我的控制)要求在它们
我想在GNU Parallel中继承环境变量.我有几个’脚本'(实际上只是命令列表,设计用于GNU Parallel),每个都有数百行,所有行都调用不同的外部程序.但是,这些外部程序(不受我的控制)要求在它们运行之前设置几个环境变量.

在本地设置/导出它们似乎没有帮助,我没有看到任何方法将此信息添加到配置文件.

文档似乎没有任何内容,类似的SO页面建议将命令包装在脚本中.然而,这似乎是一个不优雅的解决方案.有没有办法导出当前环境,或者可能在脚本中指定所需的变量?

谢谢!

这对我有用:

FOO="My  brother's  12\"  records"
export FOO
parallel echo 'FOO is "$FOO" Process id $$Argument' ::: 1 2 3

要使其适用于远程连接(通过ssh),您需要引用shell扩展的变量. parallel –shellquote可以帮助你做到这一点:

parallel -S server export FOO=$(parallel --shellquote ::: "$FOO")\;echo 'FOO is "$FOO" Process id $$Argument' ::: 1 2 3

如果这不能解决您的问题,请考虑显示一个不起作用的示例.

– 编辑 –

看看版本20121022中引入的–env

– 编辑 –

看看20160322中介绍的env_parallel.

网友评论