java - 我可以在 jclouds scriptbuilder 中使用什么范围名称

标签 java openstack jclouds

使用 Jclouds 脚本构建器通过 ssh 在远程服务器上运行脚本

new ScriptBuilder()
  .addEnvironmentVariableScope(scope, ImmutableMap.of("KEY", "VALUE))
  .addStatement(exec(script))
  .render(OsFamily.UNIX);

在我遇到的java文档

/**
 * Exports a variable inside the script
 * @param scopeName
 * @param variables keys are the variables to export in UPPER_UNDERSCORE case format
 */

同样在这里:https://jclouds.apache.org/reference/javadoc/2.0.x/org/jclouds/scriptbuilder/ScriptBuilder.html

但我需要在脚本中获取变量 $KEY 。我应该设置什么范围?

最佳答案

ScriptBuilder 对象将导出函数中名称为给定范围的变量。它创建了这样的东西:

function scopeName {
   export VAR1="value1"
   export VAR2="value2"
   return $?
}

该类主要供 InitScript 使用,为所配置的节点生成引导脚本。如果这不是您想要的,您可以尝试使用EnvBuilder

关于java - 我可以在 jclouds scriptbuilder 中使用什么范围名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42349042/

相关文章:

java - 在 Onclick 方法中捕获数据库 ID

java - 如何以独特的方式分配变量以求减法中的补数

python - OpenStack Ceilometer 客户端出现问题

openstack - 如何在 devstack 中管理用户/密码?

java - 无法调试 java.lang.NoClassDefFoundError : com/google/inject/internal/util/$Preconditions

java - 当输入无效数字时,其他循环不起作用

java - 如何在基于java的docker镜像中安装包管理器

instance - 无法在 LAN 上访问 openstack 实例

java - 无法解决 jclouds 输出流不完整错误

java - 使用 jclouds API 仅更新 SoftLayer 中对象的元数据