问题描述
执行 chsh -s $(which fish) 将默认 shell 改为 fish 后,无法找到 opencode 命令原先在 bash 中输入 fish 可以识别 opencode 命令
原因分析
在 ~/.config/fish/config.fish 中使用了以下配置:
1 | if status is-interactive |
这导致 PATH 设置只在交互式 shell 中生效,登录 shell(非交互式)无法加载。
解决方案
使用 fish_add_path 命令在 conf.d 目录创建独立配置文件:
文件: ~/.config/fish/conf.d/opencode.path.fish
1 | # 添加 opencode 到 PATH |
验证方法
1 | su - root -c "which opencode" |