>我正在尝试创建一个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行:路径:找不到命令">
欢迎所有建议,提前感谢。
您需要将新变量附加到旧路径(第 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
,你的新的、改变的路径存在于你当前的环境中。
您很可能希望调整代码,以便在特定位置创建源文件。 然后,您可以使用别名进一步自动执行该过程。
您可能还会发现这有一些帮助:如何在 shell 脚本中更改路径