You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ubuntu终端的任意工作目录中像内置命令一样调用自制C语言可执行程序

如何在Ubuntu终端的任意工作目录中像内置命令一样调用自制C语言可执行程序

嗨,我来帮你搞定这个问题!要让你的myprog像cat、grep这些系统内置命令一样,在任意目录下直接调用,核心就是利用系统的PATH环境变量——终端每次执行命令时,都会在PATH列出的目录里查找可执行文件。下面给你两种实用的方法,选哪种都可以:

方法一:把程序放到系统默认的自定义程序目录

这是最省心的方式,/usr/local/bin是系统专门留给用户放自定义程序的目录,默认已经在PATH里了:

  • 先确保你的myprog有可执行权限,如果还没有,执行:
    chmod +x myprog
    
  • 然后把程序复制到/usr/local/bin(需要管理员权限):
    sudo cp myprog /usr/local/bin/
    
  • 搞定!现在不管你在哪个目录,直接输入myprog arg1 arg2就能运行程序了,重启终端也不会失效。

方法二:创建自己的程序目录并加入PATH

如果你不想动系统目录,想把自己的程序都集中放在一个专属目录里,可以这么做:

  • 先在家目录创建一个专门的程序目录,比如bin:
    mkdir ~/bin
    
  • 把你的myprog移到这个目录,同时确保权限:
    mv myprog ~/bin/
    chmod +x ~/bin/myprog
    
  • 接下来把这个目录加入PATH,编辑bash的配置文件(比如~/.bashrc):
    nano ~/.bashrc
    
  • 在文件的末尾添加一行:
    export PATH="$HOME/bin:$PATH"
    
  • 保存并退出nano(按Ctrl+O回车保存,Ctrl+X退出),然后让配置立刻生效:
    source ~/.bashrc
    
  • 现在你也可以在任意目录直接输入myprog arg1 arg2调用程序了,而且下次登录终端时这个配置会自动加载。

之前你用export设置环境变量的方法需要加$前缀,是因为你只是把程序路径存在了变量里,终端不会自动去搜索这个变量对应的路径;而上面两种方法都是把程序所在目录加入了PATH,终端会自动遍历这些目录找可执行文件,所以就不用额外加前缀啦。

备注:内容来源于stack exchange,提问作者Cinverse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 12:24:32