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

如何在Ubuntu中让C语言编译生成的fsm可执行文件全局可用

解决任意位置执行自定义可执行文件的问题

错误原因分析

你之前把fsm移到/usr/local/gcc导致gcc崩溃,是因为这个目录是gcc的核心安装目录,里面存放着gcc运行必需的二进制文件、库文件等。将自己的可执行文件放入其中,可能会和gcc的内部文件重名,或者破坏了gcc的目录结构,导致gcc无法正常调用依赖组件。

正确实现任意位置执行的方法

以下两种方法都是安全且标准的做法,不会干扰系统工具:

方法1:将可执行文件放到用户专属的可执行目录(推荐,无需sudo权限)

  1. 创建用户级可执行目录(如果不存在):
    mkdir -p ~/.local/bin
    
  2. 将fsm移动到该目录:
    mv fsm ~/.local/bin/
    
  3. 确保该目录在系统PATH环境变量中:
    • 执行echo $PATH查看输出,如果包含~/.local/bin,直接跳过此步;
    • 如果没有,将目录添加到shell配置文件:
      • 对于Bash:
        echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
        source ~/.bashrc
        
      • 对于Zsh:
        echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
        source ~/.zshrc
        

方法2:将可执行文件所在目录添加到PATH

如果不想移动fsm,可以把它所在的目录加入PATH:

  1. 假设fsm存放在~/my-projects目录下,执行:
    • Bash:
      echo 'export PATH="$HOME/my-projects:$PATH"' >> ~/.bashrc
      source ~/.bashrc
      
    • Zsh:
      echo 'export PATH="$HOME/my-projects:$PATH"' >> ~/.zshrc
      source ~/.zshrc
      

重要提醒

绝对不要将自定义可执行文件放入/usr/local/gcc、/usr/bin这类系统核心工具的安装目录,避免覆盖系统文件或干扰工具的正常运行。

内容的提问来源于stack exchange,提问作者CuriousDev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:22:16