Linux PATH环境变量是一种用于存储可执行程序的目录列表的环境变量,它告诉Linux操作系统可以在哪些目录里找到可执行程序。当我们在终端上输入一个命令时,操作系统会在PATH环境变量所列出的目录中寻找与该命令对应的可执行程序,并执行该程序。如果PATH中没有找到对应的可执行程序,则会提示找不到该命令。
PATH环境变量的值是一个由多个目录路径组成的字符串,目录路径之间用冒号’:’分隔。我们可以通过echo命令来查看PATH环境变量的值,示例代码如下:
echo $PATH
输出结果可能类似于:
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin
上述输出表示PATH环境变量的值包含了6个目录路径,它们分别是:
- /usr/local/bin
- /usr/bin
- /bin
- /usr/local/games
- /usr/games
- /snap/bin
我们可以在这些目录中查找可执行程序,例如在/usr/local/bin目录中查找可执行程序tree:
which tree
如果该可执行程序存在于/usr/local/bin目录中,则输出结果是:
/usr/local/bin/tree
如果该可执行程序不存在于PATH环境变量所列出的任何目录中,则输出结果是:
which: no tree in (...PATH环境变量的值...)
如果我们希望将一个自定义目录路径添加到PATH环境变量中,可以使用export命令。例如,在当前用户的home目录下创建一个名为test的子目录,并在该目录下创建一个名为mybin的子目录,在mybin目录下创建一个名为hello的Shell脚本文件,示例代码如下:
mkdir ~/test
mkdir ~/test/mybin
echo 'echo "Hello, world!"' > ~/test/mybin/hello
然后,将~/test/mybin目录路径添加到PATH环境变量中,示例代码如下:
export PATH=$PATH:~/test/mybin
这条命令表示将原来的PATH环境变量值加上:~/test/mybin,即将~/test/mybin目录加入到PATH环境变量中。然后,我们可以在终端中输入hello命令来运行~/test/mybin/hello脚本文件,如下所示:
hello
输出结果是:
Hello, world!
这样,我们就成功地将一个自定义目录路径添加到了PATH环境变量中,并可以在该路径下执行自己的可执行程序。