2017-09-18 19 views
-1

如何使用可靠脚本设置gradle home。我在RHEL中有一个目录gradle_user_home。我试图用可靠的脚本将gradle设置回目录。但可靠的脚本说没有这样的文件或目录!以下是我的脚本。脚本设置gradle回家吗?

- name: Set gradle environment variable 
    command: export GRADLE_USER_HOME={{gradle_home}} 

我瓦尔文件:

gradle_home: "/data1/deployment/gradle_user_home" 
+0

因为没有命令'export'和Ansible是完全正确的。无论如何,你不能做你认为你应该做的事,因为它没有任何意义。请了解Unix/Linux shell如何处理环境变量。 – techraf

回答

1

首先,export不是命令(即不存在/bin/export可执行文件)。这是一个bash内置。这就是为什么你得到no such file or directory。您可以在shell任务中使用它,但不能在command任务中使用它。其次,这不是用Ansible设置环境变量的正确方法。

您可以在水平发挥这样的设置环境:

--- 
- hosts: all 
    environment: 
    GRADLE_USER_HOME: "{{gradle_home}}" 

,或者在任务级别是这样的:

- name: Execute gradle build 
    shell: gradle build 
    environment: 
    GRADLE_USER_HOME: "{{gradle_home}}" 
2

你不能在一个单一的command任务导出环境变量,因为每个command任务是在自己的shell中运行。命令完成后,环境变量将丢失。

您必须使用shell行动

  1. 设置环境变量和
  2. 运行命令。

示例:

所有的
- name: Run the command 
    shell: >- 
    export GRADLE_USER_HOME={{gradle_home}} 
    my_command_which_requires_gradle_user_home