如何修改我的用户PROFILE文件以将我创建的脚本文件夹附加到PATH变量的末尾?
我不完全确定这意味着什么。任何人都可以解释
谢谢:))
答案 0 :(得分:28)
在unix / linux系统中,您有一个用户ID('john')和一个主目录('/ home / john')。主目录有一个缩写,代字号:〜(在目录路径的开头)意味着与你的主目录(“/ home / john”)相同。
在主目录中有几个以句点开头的文件(也就是点文件,因为它们以点开头,即句点)。当您登录时,开始为您提供命令行的shell(即,在键入命令时处理命令行的程序)会查找这些文件并使用其内容读取它们以初始化您的shell环境。您可以通过在命令行输入以下命令来查看这些文件(如果存在):
cd
ls -a
没有args的cd
意味着'将当前目录更改为我的HOME目录。 ls
命令列出目录中的文件(以及其他内容); -a
选项显示“显示隐藏文件”。隐藏文件是以句点开头的文件 - 这是unix / linux中用来“隐藏”文件的惯例。
.profile(大声说它通常发音为'dot profile')文件就是一个用于初始化环境的点文件。
shell使用PATH环境变量来搜索可执行文件(程序)。
您可以谷歌搜索“如何在个人资料中更新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登录”,“什么是.profile文件”等主题,以了解更多信息。
建议在设置PATH的值时使用双引号来封装可能位于路径中项目名称中的任何“常用”字符。单引号不适用于此,因为它们会阻止$ PATH的评估(这是在定义新路径值时为现有路径提供的)。有关引号的更多信息,请here is one discussion of single vs double quotes
答案 1 :(得分:2)
cat
和cd
等内置程序只需输入命令即可。但是,它们位于某个文件夹中,例如/usr/bin/
。自己动手,输入cat
。
which cat
所在的文件夹
当您输入此类命令时,您的shell需要一个文件夹列表,在该文件夹中,它必须查找刚刚输入的命令。它使用$PATH
变量来存储此列表。您可以输入echo $PATH
。
现在,如果关闭shell,$PATH
变量就会消失。当您重新打开shell时,它会启动一定数量的脚本,其中一个是.profile
脚本。在此脚本中,加载了$PATH
变量。因此,您可以调整.profile
文件,以永久保存$PATH
。为此,只需编辑此文件并修改定义$PATH
的行(例如pico ~/.profile
)。
在您的特定情况下,将脚本文件夹添加到这样的$PATH
,可以让您只需编写脚本的名称而不是整个打击垫。
答案 2 :(得分:1)
当您尝试运行程序/命令时,PATH变量存储shell搜索程序/命令的目录列表。您可以通过键入以下命令从命令行访问其值:
echo $PATH
修改它时要小心,否则可能会干扰您从命令行运行程序的能力。要在不修改原始值的情况下添加新目录,可以在文件中添加一行,例如:
PATH=$PATH:/directory_to_add
其中'directory_to_add'是您要添加到路径的目录($ PATH告诉shell插入PATH的值)。然后,如果在命令行中键入文件夹中的一个脚本的名称,它将运行而无需键入完整路径名(只要它具有执行权限)。
注意 - 您的配置文件可以在〜/ .profile找到,您可以使用文本编辑器添加上面的行并重新保存文件。然后,在您的主目录中键入sh ./.profile,您的路径现在应该包含所需的目录。