一、shell中可执行文件的两种执行方式
(1)绝对路径
比如,打开电脑上安装的python3,使用绝对路径方式打开为:
/usr/local/bin/python3
(2)使用PATH
将python3的绝对路径添加到PATH中,直接输入可执行文件名称时:
python3
shell会根据PATH中提供的路径查找相应的可执行文件。
二、PATH的全局属性和局部属性
macOS 是类UNIX系统,在/etc/shells文件中记录了系统支持的shell版本:
/bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /bin/zsh
我这里使用的是zsh。
PATH的全局属性是指将PATH导入系统配置文件/etc/profile中,PATH的局部属性是指将PATH导入在使用的shell的配置文件/etc/zprofile中,也可以在当前用户的主目录下新建自己的专属配置文件~/.zshrc。
可执行文件的查找顺序:系统>软件>用户。
查看系统所有PATH:
echo $PATH
输出结果如下:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public
在/etc/zprofile中新增:
export PATH=$PATH:/System/Library/Frameworks/Python.framework export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/3.7/bin
再次查看系统所有PATH:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/System/Library/Frameworks/Python.framework:/Library/Frameworks/Python.framework/Versions/3.7/bin
相应的,/Library/Frameworks/Python.framework/Versions/3.7/bin文件夹下的所有可执行文件,都可以通过名称直接在zsh中使用,比如pip,wheel等。