我有一个可执行文件。我只想像其他命令一样在终端中以名称执行可执行文件。
我可以将可执行文件放入/usr/local/bin
或添加PATH
到中~/.bashrc
。两者都会起作用。
什么是更好的?有什么区别吗?
我有一个可执行文件。我只想像其他命令一样在终端中以名称执行可执行文件。
我可以将可执行文件放入/usr/local/bin
或添加PATH
到中~/.bashrc
。两者都会起作用。
什么是更好的?有什么区别吗?
Answers:
例如,让我假设您有一个可执行文件myscript
。您需要从终端运行它,
/path/to/myscript
用户级别变更
如果您PATH
将该可执行文件添加到~/.bashrc
,则只能在任何地方使用名称运行该可执行文件(已经提到过Avinash Raj),如下所示:
myscript
但是更改将影响用户级别。这意味着,如果您有任何其他用户,他们将无法仅使用名称访问可执行文件。如果他们有适当的权限,则需要以以下方式运行可执行文件:
/path/to/myscript
另外,您将无法以sudo的身份运行脚本,因为它不在PATH
root目录中。要按需运行sudo
,
sudo /path/to/myscript
系统级变更
如果将脚本放入其中,/usr/local/bin
则可以在整个系统范围内供所有用户访问。在这种情况下,任何用户都可以按以下方式运行您的可执行文件(必须具有适当的权限)
myscript
在这种情况下,您也可以运行可执行文件sudo
,
sudo myscript
现在根据您的需要选择一种方法。
如果将可执行文件放在/usr/bin
或中/usr/local/bin
,则只需指定名称(your-program
而不是/usr/local/bin/your-program
)就可以运行该程序。
如果您改为将包含程序的目录添加到~/.bashrc
文件中的PATH
,则仅键入其名称即可启动该目录中存在的任何可执行文件。