今天发现一个不错的 shell: fish。
官方网站:http://fishshell.org/
相关介绍:http://lwn.net/Articles/136232/
我一直以来使用的都是 Linux 的标配 shell: bash,今天促使我另寻新欢的原因是,
每当我在 bash 中用[TAB]键的自动提示功能时,总是有这样一个让我不爽的地方:
假设/sun/目录有多个子目录,我当前在/根目录。
此时我输入 cd /su,然后敲一下 TAB,bash 很配合的把命令补全为 cd /sun/。
然而令我不爽的正是此时,当我再一次敲 TAB 时,理应显示出/sun/目录下的所有子目录,然而实际情况却不是:
我必须要再一次动用我的左手无名指,敲击一下 TAB,然后我才能看到子目录。
不知道其他人的 bash 有没有我这样的问题。
apt-get install fish
-
PS1(prompt)的区别
bash:
PS1='\w> '
fish:
function fish_prom -d "Write out the prompt" printf '%s%s%s> ' (set_color yellow) (prompt_pwd) (set_color normal) end
-
取别名的区别
bash:
alias s78="ssh [email protected]"
fish:
function s78 ssh [email protected] end
-
` 的区别
bash:
ls -l `which fish`
fish:
ls -l (which fish)