Ubuntu 16.04 LTS下如何让已安装的Oh My Fish插件生效?
解决Oh My Fish中hash/extract插件无法正常工作的问题
别着急,我之前在fish shell里折腾Oh My Fish插件的时候也碰到过类似的情况,咱们一步步来排查修复:
1. 先确认插件真的被正确激活了
首先得确保插件不是光安装了没加载,运行这个命令看看已安装的插件列表:
omf list
如果hash和extract不在列表里,先重新安装一遍:
omf install hash extract
安装完一定要重启fish shell才能生效,直接输入:
exec fish
2. 检查hash插件的用法是否正确
fish本身自带一个hash命令,但和Oh My Fish的hash插件功能完全不一样——系统自带的是用来管理命令哈希表的,而插件是用来计算字符串/文件哈希的。很多人踩坑就是因为用法错了:
- 要计算字符串的MD5,得指定算法加内容,比如:
hash -md5 "你要计算的字符串" - 或者通过管道传内容,比如计算文件的SHA256:
cat your-file.txt | hash -sha256
如果只敲hash不加任何参数,插件要么会等你输入内容(按Ctrl+D结束输入才会输出结果),要么因为缺少参数直接没反应,这都是正常的哦。
3. 修复extract插件的依赖问题
extract插件本身只是个“万能解压 wrapper”,它需要依赖系统里的各种解压工具才能干活。Ubuntu 16.04默认可能没装全这些工具,先补装一下:
sudo apt-get update && sudo apt-get install unzip p7zip-full tar gzip bzip2
然后记得用对用法——必须要指定你要解压的文件,比如:
extract my-archive.zip
直接敲extract的话,它不知道要解压啥,自然没反应啦。
4. 确保fish能加载插件配置
有时候Oh My Fish的插件配置文件没被正确加载,你可以打开fish的主配置文件看看:
nano ~/.config/fish/config.fish
里面有没有类似这样的代码?
for conf in ~/.config/fish/conf.d/*.fish source $conf end
如果没有,就把这段代码加进去,保存后重启shell——Oh My Fish的插件配置都存在conf.d目录下,这段代码就是用来加载这些配置的。
按照上面的步骤走一遍,应该就能解决问题了!
内容的提问来源于stack exchange,提问作者mickkk
相关产品推荐
相关产品推荐

