抽空看了一下Fish Shell的文档,发现它和其他shell的差别主要是增强或增加了一些方便用户的特性。主要表现在: 1.增强了TAB键自动补齐功能 会根据路径、文件名自动补齐,SHELL变量,常见命令、函数等 还可以使用complete命令为特定命令自定义补齐 2. 增加了自动建议 输入命令时,fish shell会根据$PATH变量的配置,命令行历史以及自动补齐功能提供自动建议(以灰色显示) 可以使用右箭头或ctrl+F接受自动建议 3. 改变了重定向标准错误的方式,使用^而非通用的 ‘2 > $file’: ^ filename (或 ^^ filename) 4. 自动加载函数的方式 5. 命令行语法高亮显示 当然还有其他的一些不同,目前还没有感觉到方便或者不便: a. 配置文件的名称和位置: ~/.config/fish/config.fish 或全局配置文件: /usr/share/fish/config.fish /etc/fish/config.fish b. 设置变量的方式: 要设置变量smurf_color 的值为blue, 用: set smurf_color blue c….
无意中发现了Fish Shell,对我来说是个全新的东东,也有很多看起来不错的特性。决定试一下。 不过OpenBSD上没有fish shell的软件包,需要自己编译。幸好编译的过程还算简单顺利。 先安装需要的工具: pkg_add -v gmake autoconf 安装autoconf的时候要选择2.60或更高的版本。 然后根据autoconf的版本设置变量AUTOCONF_VERSION: export AUTOCONF_VERSION=2.69 #我安装的是autoconf-2.69p1 接下来下载fish shell的源码包。我选择到github上下载。fishshell.com上应该也有,但是我打不开。 https://github.com/fish-shell/fish-shell/archive/master.zip 然后解压。我用的是7z (7zip): 7z x master.zip 解压后得到一个fish-shell-master文件夹。接下来编译。 cd fish-shell-master autoconf ./configure gmake gmake install # 需要root权 一切顺利的话,运行fish命令即可进入fish shell 至于fish shell的配置、特性等等,后面的博客中我们再聊(我也还没看完文档呢)