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