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

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

有程序/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

我做错了什么?

答案1

看起来您需要将该目录添加到您的路径中。执行此操作的具体命令取决于正在使用的 shell。对于 bash,您需要类似以下内容:

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

解释:

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

答案2

当向路径添加新程序时,需要输入

rehash

为了让 shell 知道它。

答案3

为快速修复,您可以创建一个别名。将~/.bashrc以下内容添加到您的文件中:

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

exec bash然后在终端中运行它,它应该可以工作。如果您不使用 bash,其他 shell 也可以使用类似的方法。例如,写入 shell~/.zshrc的文件zsh

相关内容