使程序能够从终端命令运行


2

有节目 /home/user/Downloads/program/main

我可以通过以下命令cd /home/user/Downloads/program && ./main或从GUI 启动它。

我想要的是通过键入main 我试图做ln -s /home/user/Downloads/program/main /usr/local/bin或者从终端启动它/bin但它没有任何效果。

在链接之前我发出chmod +x命令。

这是编译程序,我得到的错误信息 main: command not found

我做错了什么?


您尝试运行该程序时是否有任何错误消息?它是脚本还是编译程序?
Nathan.Eilisha Shiraini

@NathanShiraini,编译程序,消息main: command not found
micgeronimo

理论上你只需要chmod +x它并将它或它的链接放在PATH的文件夹中。要查看这些文件夹,请运行该命令echo $PATH
Nathan.Eilisha Shiraini

已经这样做了。我以为我做错了什么
micgeronimo 2016年

你能否提供输出ls -al /home/user/Downloads/program/main,以验证权限?
jehad 2016年

Answers:


2

看起来您需要将该目录添加到路径中。执行此操作的确切命令取决于正在使用的shell。对于bash,你需要这样的东西:

export PATH=$PATH:/home/user/Downloads/program/

说明:

  • PATH = $ PATH将现有路径保留为您正在创建的新路径的一部分。
  • :/ home / user / Downloads / program /将该目录添加到路径中(最后,这是搜索到的最后一件事)。
  • 导出将路径放在shell中,以便它保持在那里。对于单个会话,您可能不需要该部分。但是,如果要在将来的登录会话中保留此项,则需要将其添加到.bashrc(或登录时执行的其他文件)中。

1

在路径中添加新程序时,需要键入

rehash

因为它为shell所知。


0

作为快速修复,您可以创建别名。添加到你的~/.bashrc文件:

alias main='/home/user/Downloads/program/./main' 

然后exec bash在你的终端运行它应该工作。如果你没有使用bash类似的东西适用于其他shell。例如写入文件~/.zshrczsh外壳。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.