当您创建一个 Bash 脚本并将其保存到一个目录时,您会发现您只能在该目录中执行该脚本。你有没有想过 ls
、 imagemagick
、 apache
和 squid
可以安装在不同的目录中,但仍然可以在任何地方访问?这是因为他们自己的路径已添加到 'Path' 变量中。通过向它添加多个链接,您还可以使您的脚本在任何地方都可以执行。
添加 Bash 的路径
您可以根据3个不同的级别调整Path。 Bash 是第一级。我们在这里看到的一切都会影响 Bash。一切都在那里运行,但在 Bash 之外没有任何影响。
假设您在想要从任何地方访问的目录中有一组脚本。
为此,您可以将它们的路径添加到 '~/.bashrc' 。您可以在您喜欢的文本编辑器中打开 .bashrc 文件(它位于 Home 文件夹中,但默认隐藏),例如 gedit.
到文件末尾添加:
PATH="/path_of/the_folder_we/want_to_add_to:$PATH"
例如,如果您将可执行脚本保存在 '/home/myname/scripts' 目录中,则命令为:
export PATH="/home/myname/scripts:$PATH"
要保存更改,保存文件,退出文本编辑器,然后在终端输入此命令:
source ~/.bashrc
然后,移动到许多不同的目录并尝试从那里运行脚本。
添加指向个人资料的链接
如果您希望目录的内容可以从 Bash 约束之外访问,请将其添加到 Profile 变量中。
用您喜欢的文本编辑器打开 .profile 文件。
在文件末尾输入:
export PATH="$PATH:$HOME/scripts"
您必须注销并重新登录才能应用更改。
在 Ubuntu 及其衍生版本中,您可以编辑文件 '.pam environment' 而不是 '.profile' 。
在文本编辑器中打开文件'.pam_environment'。如果文件不存在,则创建它。
在文件中输入:
PATH DEFAULT=${PATH}:/home/@{PAM_USER}/scripts
请注意,这里我们将使用一个变量,而不是完全硬编码的路径和配置文件中的不同。这样,每个用户的'/home/USER_NAME/scripts'目录都会被添加到Path中。
与编辑.profile 文件一样,您必须注销并重新登录才能使更改生效。
添加环境路径
共享同一台计算机的多个用户访问目录内容的适当方法是将其添加到环境变量中。打开终端并输入:
sudo nano/etc/environment
那里的Path变量包含一系列目录,用引号括起来,用冒号隔开,类似于:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin"
要在列表中包含您自己的目录,在最终路径之后,关闭引号之前,输入一个冒号和目录路径。 如果你的目录是 '/home/your_username/scripts' ,它将如下所示:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games :/usr/local/games:/home/YOUR_USERNAME/scripts"
请退出并重新登录以应用更改。
通过以上技巧,您将能够在 Linux 的任何地方运行您的脚本。
0 评论