Bash 如何从命令行在任何位置执行脚本?

Bash 如何从命令行在任何位置执行脚本?,bash,shell,unix,path,Bash,Shell,Unix,Path,我在/opt位置有脚本,如果我想运行该脚本,我必须转到/opt位置并需要运行该脚本。但我想从命令行的任何位置运行该脚本。我该怎么办 例如:script.sh位于/opt位置。要执行此脚本,我还必须提供位置路径/opt/script.sh 我想在不提供位置的情况下从位置执行此脚本 如果我给出./script.sh,它必须执行。是否需要在任何init.d脚本中添加此位置路径 运行脚本以将命令行参数更新到文件中。 脚本——名称“aaaa”,文件中的名称值更新。 若我通过命令行从任何位置发出这个命令,那

我在/opt位置有脚本,如果我想运行该脚本,我必须转到/opt位置并需要运行该脚本。但我想从命令行的任何位置运行该脚本。我该怎么办

例如:script.sh位于/opt位置。要执行此脚本,我还必须提供位置路径/opt/script.sh

我想在不提供位置的情况下从位置执行此脚本

如果我给出./script.sh,它必须执行。是否需要在任何init.d脚本中添加此位置路径

运行脚本以将命令行参数更新到文件中。 脚本——名称“aaaa”,文件中的名称值更新。
若我通过命令行从任何位置发出这个命令,那个么文件需要更新

您想将脚本复制/移动到
路径
变量指定的文件夹之一。这就是Bash寻找程序的地方。按如下方式查看此列表:

echo $PATH | tr ':' '\n' 
在Ubuntu上,
~/bin
是放置程序的好地方,因为您在这里始终具有读写权限。使用
sudo
您可以将其放在这些文件夹中的任何一个,但这对您来说都是可行的:

cp script.sh ~/bin 
试试这个, 将此行保存在~/.bash_配置文件中

PATH=$PATH:/opt/
就这样。像bash命令一样从任何地方运行脚本


希望有帮助。

如果您将其移动到
/usr/bin
$PATH
中的另一个目录(或将
/opt
添加到您的路径),则无需指定位置。脚本负责查找它修改的任何文件。将可执行文件放在以
/bin
结尾的目录中有一个很强的惯例。您可能希望将脚本放入
/opt/bin
,然后将其添加到路径中。