在Linux系统中使用Fish Shell的入门指引

安装以及配置

  Linux 和 OS X 基本都可以通过源来安装,实在不行就下载源码编译,不难的。

  Ubuntu的话就是这样:

  代码如下:

  sudo apt-get install fish

  从bash进入fish直接输入fish就行了

  安装好第一步是修改 OS 默认 shell:

  代码如下:

  chsh -s /usr/bin/fish

  然后就可以直接使用了,就是这么简单。你不需要面对 zsh 浩如烟海的配置文件,也不需要去 github clone 一个 “Oh My Zsh”。

  当然如果你实在想配置,输入 fish_config 命令会启动 web 管理界面。

  什么?逼格太低,非要手动配置。OK, ~/.config/fish/config.fish这就是 fish 的配置文件,类似于 bash 的.bashrc。

  我喜欢配置三件东西:

  1.问候语(配置config.fish):

  代码如下:

  set fish_greeting 'Talk is cheap. Show me the code.'

  2.命令行提示(在web界面配置,完成后会生成~/.config/fish/functions/fish_prompt.fish):

21182723_uo7E.png

  3.设置接受建议(第三条优势)的快捷键:

  修改fish_prompt.fish,增加一条语句:bind ej accept-autosuggestion。同时按下alt和j将接受建议。

  优势

  语法高亮

  不存在的命令会显示为红色。

21182729_rO1e.png 21182729_3fUA.png

  通配符

  集成find命令,递归搜索神器。

21182729_3wFg.png

  智能建议

  当按下几个字母后,fish会有智能建议,按下向右箭头将接受建议。

21182730_YaIE.png

  Tab补全

  如果补全项超过1个,会列出全部以供选择。

21182731_SGGB.png

  变量

  fish是通过set来代替“=”对变量赋值的。

21182731_UTdD.png

  将某目录加入到PATH中也是用set(配置config.sh):

  代码如下:

  set PATH $PATH /home/mountain/shell

  Exports

  fish没有export命令,需要用set -x来代替。如果需要擦除变量,就执行set -e。

21182731_lyQk.png 21182732_Jqba.png

  列表

  有些变量有多个值,例如$PATH,fish会把所有值组装成一个列表,可以迭代或者通过下标访问。

21182732_6Vpw.png

  命令替换

  用法很简单,把命令放在括号里即可。

  语法糖

  fish 的常用关键字(if、switch、function 等)比 bash 高端、实用很多,但是考虑到公司的生产环境根本不可能安装 fish,导致脚本无法移植,所以对于这部分只能忍痛放弃。

21182733_kjzE.png

 

 

 

ubuntu linux下fish shell和默认的bourne shell (bash)的环境变量设置有点不太一样。

我们知道,对于默认的bash的环境变量设置用的是export.

举例:如果我们想把目录/usr/matlab/bin 和 /home/aborn/aborn/scripts加入到环境变量

1)对于bash 修改~/.bashrc文件,在最后加入以下行:

export PATH="$PATH:/usr/matlab/bin:/home/aborn/aborn/scripts"


最后在命令行下使用如下命令使得配制文件起作用:

source ~/.bashrc
2)对于fish shell 使用的是set -x这个命令,修改文件(~/.config/fish/config.fish ):
sudo vi ~/.config/fish/config.fish 
在最后一行加入:注意两个目录之间用空格隔开
set -x PATH /usr/matlab/bin /home/aborn/aborn/scripts 
最后重新启用下fish就OK了。

 

 

在fish下面不能使用source activate命令,得加入如下这句话,同时使用conda activate + ENV

 

source (conda info --root)/etc/fish/conf.d/conda.fish
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值