如何修改我的用户PROFILE文件,将我创建的脚本文件夹附加到PATH变量的末尾?
我不完全确定这意味着什么。有人能解释一下吗?
在unix/linux系统中,您有一个用户id('john')和一个主目录('/home/john')。主目录有一个缩写,波浪号:~(位于目录路径的开头)表示与主目录("/home/john")相同。
主目录中有几个以句点开头的文件(也称为点文件,因为它们以句点开头,即句点)。当您登录时,启动为您提供命令行的shell(即,在您键入命令时处理命令行的程序)会查找并读取这些文件,使用它们的内容来初始化您的shell环境。您可以通过在命令行输入以下命令来查看这些文件(如果存在):
cd
ls -a
不带参数的cd
表示"将当前目录更改为我的HOME目录"。ls
命令列出目录中的文件(以及其他内容);-a
选项显示"显示隐藏文件"。隐藏文件是以句点开头的文件——这是unix/linux中用来"隐藏"文件的约定。
.profile(大声说它通常发音为"dot-profile")文件就是这样一个用于初始化环境的点文件。
PATH环境变量由shell用来搜索可执行文件(程序)。
您可以在谷歌上搜索"如何更新个人资料中的PATH"和类似内容,以了解有关该主题的更多信息。
以下是.profile文件中的一个典型片段;它的目的是允许您运行存储在/usr/mypackage/bin目录中的程序。
PATH="/usr/mypackage/bin:$PATH"
export PATH
在PATH上放置一个目录可以让您只键入一个程序名("myprogram"),而不是较长的形式("/usr/mypackage/bin/myprogram")。
您可以使用echo $PATH
查看此片段的效果;它将显示PATH变量的整个值。该值应该是用冒号分隔的路径(目录)列表。一个简单的例子:
echo $PATH
/usr/mypackage/bin:/usr/bin:/bin
这应该会让你有一个开始调查细节的立足点。尝试搜索诸如"我如何设置我的linux/unix登录"、"Whatis.profile文件"等主题,以了解更多信息。
建议在设置PATH值时使用双引号来封装路径中项目名称中的任何"常用"字符。单引号不适合这样做,因为它们会阻止$PATH的评估(在定义新路径值时,它提供了您现有的路径)。关于引号的更多信息,这里有一个关于单引号与双引号的讨论
像cat
和cd
这样的内置程序只需输入命令即可工作。但是,它们位于某个文件夹中,例如/usr/bin/
。请自己尝试,输入which cat
查看cat
位于哪个文件夹中。
当您键入这样的命令时,您的shell需要一个文件夹列表,它必须在其中查找刚刚输入的命令。它为此使用了$PATH
变量,该变量存储该列表。您可以通过输入echo $PATH
来查看它。
现在,如果关闭shell,$PATH
变量就不存在了。当您重新打开shell时,它会启动一定数量的脚本,其中一个是.profile
脚本。在此脚本中,将加载$PATH
变量。因此,您可以调整.profile
文件,以便永久保存您的$PATH
。为此,只需编辑此文件并编辑定义$PATH
的行(例如pico ~/.profile
)。
在您的特定情况下,像这样将脚本文件夹添加到$PATH
中,将使您可以在想要启动脚本时简单地写下脚本的名称,而不是整个pad。
PATH变量存储shell在尝试运行程序/命令时搜索的目录列表。您可以通过键入:从命令行访问其值
echo $PATH
修改它时要小心,否则可能会干扰您从命令行运行程序的能力。要在不修改原始值的情况下添加新目录,可以在文件中放一行,例如:
PATH=$PATH:/directory_to_add
其中"directory_to_add"是要添加到路径中的目录($path告诉shell插入path的值)。然后,如果您在命令行中键入文件夹中某个脚本的名称,它将运行,而不必键入完整的路径名(只要它具有执行权限)。
注意-您的配置文件可以在~/.profile中找到,您可以使用文本编辑器添加上面的行并重新保存该文件。然后,在主目录中,键入sh./。概要文件,您的路径现在应该包括所需的目录。