首页 > 解决方案 > 使用 bash 脚本在 Linux 上增加路径

问题描述

我正在尝试创建一个 bash 脚本,让我每次执行它时都可以增加路径。这是我必须指出的代码:

#!/bin/bash
#script to augment path
echo "what directories do you want to add:"
read MYNEWPATH
echo "adding the "$MYNEWPATH" directory to PATH"
export PATH
echo "your new env variable is now:"
echo $PATH
exit 0

当我运行它并且 cmd 要求一个新目录时,我输入了我要添加的目录,但它显示“第 6 行:PATH:找不到命令”

开放所有建议,在此先感谢。

标签: linuxbashpathenvironment

解决方案


您需要将新变量附加到旧路径(第 4 行),如下所示:

export PATH=$MYNEWPATH:$PATH

但是,当您运行脚本时,BASH 会触发一个新的子进程,并且一旦脚本运行完成,更改后的 PATH 变量就会恢复。要处理这个问题,您可以使用脚本创建一个源文件,然后创建一个源文件,source以便新路径保留在父 shell 环境中。

#!/bin/bash
echo "enter new path: "
read MYNEWPATH
echo export PATH=$MYNEWPATH:$PATH > sourcefile

运行脚本后,将创建一个新文件,您可以将其作为源代码输入到父 shell 中。从那里你所要做的就是source sourcefile,你的新的、改变的路径存在于你当前的环境中。

您很可能想要调整代码,以便在特定位置创建源文件。然后,您可以使用别名进一步自动化该过程。

您可能还会找到一些帮助:how to alter path within a shell script


推荐阅读