phu*_*ehe 8 alias shell-script
我有一个命令的别名(我正在设置 Python 开发环境)
alias python=~/virtualenv/bin/python
Run Code Online (Sandbox Code Playgroud)
这样我~/virtualenv/bin/python只需输入python. 现在在我的项目中有一个 shell 脚本,例如:
#!/bin/sh
python run-project.py
Run Code Online (Sandbox Code Playgroud)
我可以让脚本使用我的别名python而不是python它在 中找到的别名$PATH,而不对脚本进行更改吗?
是的。
如果你把你的别名放在~/.aliases,那么你可以做
export BASH_ENV="~/.aliases"
somescript
Run Code Online (Sandbox Code Playgroud)
这假设您的脚本以 开头#!/bin/bash,因为#!/bin/sh它的可预测性稍差。
这是我的建议:
[ -f ~/.bashenv ] && source ~/.bashenvBASH_ENV=~/.bashenv/etc/environment#!/bin/bash如果您的脚本还没有,请让它们开始或者,如果您使用 zsh,只需将您的别名移动到 ~/.zshenv 中。zsh 自动查找该文件。
但也许只是把它更容易~/virtualenv/bin的前部附近PATH,然后改变你的Python脚本有#!/usr/bin/env python作为第一行。