如何修改我的用户PROFILE文件,将我创建的脚本文件夹附加到PATH变量的末尾



如何修改我的用户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的评估(在定义新路径值时,它提供了您现有的路径)。关于引号的更多信息,这里有一个关于单引号与双引号的讨论

catcd这样的内置程序只需输入命令即可工作。但是,它们位于某个文件夹中,例如/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./。概要文件,您的路径现在应该包括所需的目录。

最新更新