让 bat 文件在终端的任何地方都可用吗?

让 bat 文件在终端的任何地方都可用吗?

我有一个 bat 文件,我希望能够从任何地方调用它,只需调用它的名称即可。在 Windows 中,我只需将 .bat 文件所在的文件夹添加到 Windows PATH。但我不知道如何在 Ubuntu 中执行此操作。我猜有类似的东西。

有人可以解释一下如何做到这一点。

答案1

如果您想要快捷方式该程序,并将其保留在原处,则可以使用符号链接或别名命令。

(请注意,这假设您已使其可执行,chmod +x [script file]

符号链接允许您创建一个行为类似于相关文件的快捷方式。

sudo ln -s [script start-up file] /usr/bin/[name]

尽管位于 /usr/bin,它仍将从您调用它的目录中启动。

别名允许您为经常使用的命令或一系列管道命令命名,例如,将更新/升级命令组合成单个别名命令是相当常见的。

alias [name]="sh /path/to/script/[file name]"

假设您的脚本使用 sh 运行,(这也可能是 bash,对于更复杂的任务则有所不同)。

答案2

首先,没有bat针对ubuntu的文件,也许你的意思是脚本文件。

如果你bin在你的主目录下创建一个目录,它将自动添加到你的PATH。记得给你的脚本赋予执行权限。

答案3

我使用主目录中的一个文件夹来实现此目的:~/.local/bin

这样,它就看不见了,我把所有非系统范围的二进制文件都放在那里,比如只有我有兴趣运行的小型个人脚本。

此方法对于没有系统管理员权限的用户也很有帮助。

环境PATH变量的工作方式与在 Windows 上的工作方式大致相同,只是路径使用冒号 (:) 而不是分号 (;) 分隔。

简而言之,在终端中运行以下命令(其中“ $”是提示符):

$ mkdir -p ~/.local/bin
$ mv /path/to/executable/file ~/.local/bin/

然后将以下行添加到您的~/.bashrc文件中(如果您正在运行 Bash 作为您的 shell):

export PATH=$HOME/.local/bin:$PATH

如果您运行的是不同的 shell,这个最后的步骤可能会有所不同。

答案4

可执行文件应该在里面,/usr/bin这样才能解决你的问题,因为它在你的环境中。

您可以使用命令 (sudo chmod 775 {filename}) 将文件设置为可执行文件chmod。有关更多信息,请参阅权限 wiki 页面

Ubuntu wiki 上环境变量将会详细解释如何设置,但没有必要只使用 1 个脚本(Linux 已经涵盖了这一点)。

相关内容