我有一个 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 已经涵盖了这一点)。