无法在ansible中运行脚本
我正在尝试使用ansible运行自制。我正处于正确安装自制软件的阶段。我只需要为brew配置路径 因为没有路径,找不到无法在ansible中运行脚本,ansible,Ansible,我正在尝试使用ansible运行自制。我正处于正确安装自制软件的阶段。我只需要为brew配置路径 因为没有路径,找不到brew命令 我谨此陈辞: 我正在尝试将以下命令添加到ansible中 test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv) test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin
brew命令
我谨此陈辞:
我正在尝试将以下命令添加到ansible中
test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)
test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
test -r ~/.bash_profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.bash_profile
echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile
Ansible:
- name: map 1
shell: test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)
错误:
FAILED! => {"changed": true, "cmd": "test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)", "delta": "0:00:00.002858", "end": "2020-07-14 16:44:20.881614", "msg": "non-zero return code", "rc": 1, "start": "2020-07-14 16:44:20.878756", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
经过多次测试,我发现这与使用的用户帐户有关 默认情况下,我的基本ansible脚本设置为
root
。所以我需要做的是当我的变成:no
- name: Test homebrew directive and eval homebrew path
become: no
shell: test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
become_user: ec2-user
经过多次测试,我发现这与使用的用户帐户有关 默认情况下,我的基本ansible脚本设置为
root
。所以我需要做的是当我的变成:no
- name: Test homebrew directive and eval homebrew path
become: no
shell: test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
become_user: ec2-user
我猜
ansible\u用户
的主目录与手动运行这些命令时的主目录不同。退出1
是测试-d
失败时的退出代码;如果test-d
预计会失败,那么您需要在shell:
中使用|true
,或者在任务中添加ignore\u errors:yes
,我猜ansible\u用户的主目录与手动运行这些命令时的主目录不同。退出1
是测试-d
失败时的退出代码;如果测试-d
预计会失败,那么您需要在shell:
中添加| | true
,或者将忽略错误:yes
添加到任务中