fish 是一个非常用户友好的并且功能丰富的 shell,但没有包括在大多数 Linux 发行版的默认仓库中。它只能在少数 Linux 发行版中的官方仓库中找到,本篇文章重点为大家讲解一下Linux下安装并使用fish shell具体步骤。
安装以及配置
Linux和OS X基本都可以通过源来安装,实在不行就下载源码编译,不难的。
安装好第一步是修改OS默认shell:
❝
sudo -u [user] chsh -s /usr/bin/fish
OS X系统要确认/etc/shells文件包含/usr/local/bin/fish。 然后就可以直接使用了,就是这么简单。你不需要面对zsh浩如烟海的配置文件,也不需要去github clone一个“Oh My Zsh”。
当然如果你实在想配置,输入fish_config命令会启动web管理界面。
什么?逼格太低,非要手动配置。OK, ~/.config/fish/config.fish这就是fish的配置文件,类似于bash的.bashrc。
我喜欢配置三件东西:
-
问候语(配置config.fish):
❝
set fish_greeting ‘Talk is cheap. Show me the code.’
-
X OS系统vs code命令行工具(配置config.fish)
function code set location "$PWD/$argv" open -n -b "com.microsoft.VSCode" --args $location end
-
命令行提示(在web界面配置,完成后会生成~/.config/fish/functions/fish_prompt.fish):
Selection_001.png
-
设置接受建议(第三条优势)的快捷键:
❝
修改fish_prompt.fish,增加一条语句:bind \ej accept-autosuggestion。同时按下alt和j将接受建议。
优势
-
语法高亮
不存在的命令会显示为红色。
Selection_001.png
Selection_002.png
-
通配符
集成find命令,递归搜索神器。
Selection_003.png
-
智能建议
当按下几个字母后,fish会有智能建议,按下向右箭头将接受建议。
Selection_004.png
-
Tab补全
如果补全项超过1个,会列出全部以供选择。
Selection_005.png
-
变量
fish是通过set来代替“=”对变量赋值的。
Selection_006.png
将某目录加入到PATH中也是用set(配置config.fish):
❝
set PATH $PATH /home/mountain/shell
-
Exports
fish没有export命令,需要用set -x来代替。如果需要擦除变量,就执行set -e。
Selection_007.png
Selection_008.png
-
列表
有些变量有多个值,例如$PATH,fish会把所有值组装成一个列表,可以迭代或者通过下标访问。
Selection_001.png
-
命令替换
用法很简单,把命令放在括号里即可。
Selection_002.png
-
语法糖
fish的常用关键字(if、switch、function等)比bash高端、实用很多,但是考虑到公司的生产环境根本不可能安装fish,导致脚本无法移植,所以对于这部分只能忍痛放弃。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二
维码进行关注,更多干货等着你 !