快速提问。编译程序后,我总是必须通过在名称前加上 ./ 来明确告诉它从当前目录运行。例如$ ./testprog -argument1
有没有办法设置某种别名,允许我简单地通过说来调用它$ testprog -argument1,基本上允许我从任何位置运行程序?
PATH=$PATH:.... 很容易处理你关注的 ./ 部分...,但更多的关注并不是真正的重点。除此之外,出于安全原因,我们中的许多人都不喜欢它。有关这方面的更多讨论,请参阅将当前目录添加到路径。
如果我误解了(我有),我将扩展@DavidShwartz 所说的内容。
您剩下的选项包括将相关目录指定为路径 ( PATH=$PATH:/to/your/executable/dir) 的一部分,或者如果您只考虑几个程序或它们分散在许多位置,则使用符号链接。如果您要走符号链接路线,我建议设置~/bin在路径的末尾并在~/bin...中创建符号链接。
ln -s /to/your/executable/dir/program ~/bin/program
Run Code Online (Sandbox Code Playgroud)
在 $PATH 语句的末尾放置额外的路径几乎总是最好的。很少有人想要覆盖系统文件。这将照顾到它。
对于最后一部分,您可以将 shell 脚本放在其中一个 $PATH 目录中,其中包含要传递的选项。你真的可以作弊并完全跳过整个路径:(alias runmyprogram '/to/your/executable/dir/program -argument1'如果你总是想要它们,你也可以在此处包含开场参数)
还有更多,但是路径中的 shell 脚本或别名命令应该可以做到。
| 归档时间: |
|
| 查看次数: |
268 次 |
| 最近记录: |