仅导出单个文件

仅导出单个文件

要使脚本可以从终端中的任何位置访问,可以使用以下命令序列:

PATH=$PATH:some_path_here
export PATH

其中包括与其所有子文件夹一起发送的路径中的所有文件。这意味着从那时起,只需键入存储在该文件夹结构中的脚本的名称即可执行它。

如何以这种方式仅导出单个文件而不是整个文件夹及其所有子目录?

答案1

看来alias正是您所需要的。您可以指定任何单词作为别名,并设置执行单词时将执行的内容。

alias newcommand='/path/to/your/command'

你可以把它放在 ~/.shellrc 中(其中 shell 是你的 shell,所以bash它会是~/.bashrc),启动后它将可用。

欲了解更多信息请查看这里

答案2

创建一个symbolic link到您的文件,并将其放置在合适的PATH目录中,例如$HOME/bin或其他目录。

ln -s "/path/to/my-file"  "$HOME/bin/my-file" 

答案3

export 为了解释拉什回答的背景,不是对 中的可执行文件执行任何操作$PATHexport PATH简单地方法“我希望 PATH 变量被所有子进程继承。”当您输入myprogram提示并按下时会发生Enter一系列shell 内的查找

当在 BASH 中指定命令时不带路径名(例如 myprogram 或 ls),并且它不是别名、函数、内置命令或关键字时,BASH 会按从左到右的顺序搜索 PATH 中的目录,以查看是否存在它们包含您输入的名称的可执行文件。

$PATH,换句话说,是一个列表目录,这就是为什么它不能用于单个命令(除非隐式地将可执行文件放在单独的目录中)。您不能将命令提升为内置命令或关键字,但您创建函数或别名。请参阅前面的链接,了解它们之间差异的简单解释。

相关内容