alias program='python3 $(哪个程序)' 在 bash 中工作,在 zsh 中中断



我正在为每个代码库运行ansible的自定义版本,需要使用python3运行它。(在MacOS上(

为此,我运行

source env.rc

在我运行ansible剧本之前,在每个代码库中。它包含:

#!/bin/sh
source ~/src/ansible/hacking/env-setup &> /dev/null
alias ansible-playbook='python3 $(which ansible-playbook)'
alias ansible-vault='python3 $(which ansible-vault)'

这在bash中运行得很好,但由于我按照MacOS的建议切换到了zsh,它失败了,出现了一种自引用循环:

ansible git:(master) ✗ ansible-playbook webserver.yml -u root --tags rebuildcard
'/usr/local/bin/python3: can't open file '/Users/jd/projects/meezy/ansible/ansible-playbook:': [Errno 2] No such file or directory

设置此别名的最佳方法是什么?或者,如果不是,为什么它在bash中有效,但在zsh 中无效

正如@chepner所指出的,使用https://github.com/pyenv/pyenv#homebrew-在macos中管理您的python版本,通常使用签入git的.python-version文件。

如果你不想探索这一点,分享~/src/ansible/hacking/env-setup可能会带来更简洁的帮助。

相关内容

  • 没有找到相关文章

最新更新