在本地运行 zsh 并安装 oh-my-zsh。
~/.z配置文件:
# Added by Toolbox App
export PATH="$PATH:/Users/boxcee/Library/Application Support/JetBrains/Toolbox/scripts"
# Github
export GITHUB_TOKEN=xxx
# Homebrew
eval "$(/opt/homebrew/bin/brew shellenv)"
~/.zshrc:
# Podman
alias docker=podman
alias docker-compose=podman-compose
# Python
alias python=python3
alias pip=pip3
现在我尝试运行以下脚本:
#!/usr/bin/env zsh
docker version
并收到此错误:
./test.sh:3: command not found: docker
我不明白为什么我会得到它。 在我的 ZSH 中单独运行该命令效果很好。
最佳答案
如果您将脚本作为可执行文件运行,它将在子 shell 中运行。由于别名不会导出到环境中,因此子 shell 无法导入它们。如果您希望保留别名,那么您应该source
您的脚本,这会导致它在您调用它的同一个 shell 中运行。
关于shell - ZSH 设置为使用别名,但现在我运行的脚本不支持它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73023321/