我对
Linux和Unix比较陌生.在互联网的帮助下,我终于想出了我的.bashrc中的$PATH和别名是如何工作的.
但我真的找不到任何描述何时使用哪个.
假设我在Library / Frameworks中安装了Python3.3,可执行文件是
/Library/Frameworks/Python.framework/Versions/3.3/bin/python3,但我只想在我的终端输入python3来执行python 3.3.
当我理解正确时,有(至少)三种方法来实现这一点:
1)我在.bashrc中修改$PATH:
export PATH=/Library/Frameworks/Python.framework/Versions/3.3/bin:${PATH}
2)我在.bashrc中设置了一个别名:
alias python3=/Library/Frameworks/Python.framework/Versions/3.3/bin
ln -s /Library/Frameworks/Python.framework/Versions/3.3/bin /usr/local/bin
你会说(根据你的经验)是“推荐”的方式吗?
解决方法
将python3放在路径中是在文件系统中找到自己的地方调用它的正确方法.符号链接是将该命令更改为python并保持脚本不依赖于版本的最佳方法(您可以运行依赖于python的脚本使用符号链接和需要python 3.0的脚本专门使用python3,即使在您的计算机上他们是一样的东西).符号链接仍然是文件系统中的文件,因此它们仍然需要在您的路径中.
我只看到当你试图创建某种行为时使用的别名,这种行为与命令行实用程序的默认行为不同,比如静默添加-s的ls的别名.
此外,符号链接也存储在文件系统中,因此一旦创建,它们就会存在于登录的所有其他用户,而别名仅适用于已定义它们的登录用户.他们还可以应用文件权限.
这里有关于你可以通过.bash_profile对你的终端做的事情的a fun article,包括一些很棒的别名.