代码之家  ›  专栏  ›  技术社区  ›  Tms91

在哪里可以检查ansible命令的一部分的别名定义?

  •  0
  • Tms91  · 技术社区  · 3 年前

    我正在使用一套由第三方构建的Ansible剧本。
    最近,我不得不重新创建Ansible虚拟环境 ansible-venv (在名为dev1的开发环境中),因为模块安装不正确。
    我重新安装了requirements.txt文件所跟踪的模块,但有些命令不再工作。

    遵循此语法的行动手册不会出现问题:

    /home/myuser/.../ansible-venv/bin/ansible-playbook -f50  playbooks/my_playbook/main.yml
    

    但是,此命令不再有效:

    ansible my_group -o -b -f50 -m shell -a 'echo "server time: $(date +%H:%M:%S)"' | sort
    

    我怀疑 ansible 命令开头的单词是另一个命令的别名。可能是哪一个?

    假设我的怀疑是正确的,并且我在两个开发环境(dev1和dev2)中有相同的Ansible虚拟环境,那么我在哪里可以找到 易解释的 关键字在未受影响的环境中,dev2?

    使现代化

    跑步

    which ansible
    

    在dev2返回中

    /home/myuser/.../ansible-venv/bin/ansible
    

    而在dev1上,我没有得到任何输出。

    在dev2中,如何检查别名的定义位置?

    在里面 /home/myuser/ 我没有文件 .bashrc ,并且在文件中 .bash_aliases 没有的别名 易解释的 .

    0 回复  |  直到 3 年前
        1
  •  0
  •   Tms91    3 年前

    如@.·所建议。

    我在dev2中运行

    alias grep "ansible"
    

    并得到了回报

    alias grep='grep --color=auto'
    alias ansible='/home/my_user/my_path/ansible'
    

    最后一个是我需要的别名。

    我将其添加到 .bash_aliases 在dev1中,然后运行

    source .bash_aliases
    

    并得到命令

    ansible my_group -o -b -f50 -m shell -a 'echo "server time: $(date +%H:%M:%S)"' | sort
    

    再次工作。

    推荐文章