python阮⼀峰_阮⼀峰:Fishshell⼊门教程
原标题:阮⼀峰:Fish shell ⼊门教程个人主页巅峰小魔方
作者: 阮⼀峰
命令⾏是程序员的必备技能。图形界⾯虽然好看,解决问题还是要靠命令⾏。
命令⾏由 Shell 提供。各种命令通过 Shell,传递给操作系统的内核。学习命令⾏就是在学习 Shell。
Shell 有好⼏种,⽬前最常⽤是 Bash 和 zsh。但是,在我看来,它们都不如 Fish Shell 好⽤。
五年前,我第⼀次尝试 Fish,感到很惊艳,⼀直⽤到现在。本⽂介绍 Fish 的主要特点,希望你也来尝试它。 ⼀、简介
Fish 是”the friendly interactive shell”的简称,最⼤特点就是⽅便易⽤。很多其他 Shell 需要配置才有的功能,Fish 默认提供,不需要任何配置。
如果你想拥有⼀个⽅便好⽤的 Shell,⼜不想学习⼀⼤堆语法,或者花费很多时间配置,那么你⼀定要尝试⼀下 Fish。
抖音python入门教程
⼆、安装
Ubuntu 和 Debian 的安装⽅法。 $ sudoapt-getinstall fish
Mac 的安装⽅法。 $ brew install fish
其他系统的安装请参考官⽅⽹站。 三、启动与帮助
安装完成后,就可以启动 Fish。 $ fish
由于 Fish 的语法与 Bash 有很⼤差异,Bash 脚本⼀般不兼容。因此,我建议不要将 Fish 设为默认 Shell,⽽是每次⼿动启动它。
使⽤过程中,如果需要帮助,可以输⼊help命令。浏览器就会⾃动打开,显⽰在线⽂档。 $ help 四、彩⾊显⽰
阿里云模板进⼊ Fish 以后,你注意到的第⼀件事,可能就是它默认彩⾊显⽰。 # ⽆效命令为红⾊$ mkd# 有效命令为蓝⾊$ mkdir
有效路径会有下划线。 $ cat ~/somefi
上⾯代码表⽰,存在以~/somefi开头的路径。如果没有下划线,你就知道这个路径不存在。 五、⾃动建议
Fish 会⾃动在光标后⾯给出建议,表⽰可能的选项,颜⾊为灰⾊。 # 命令建议$ /bin/hostname# 参数建议$ grep --ignore-case# 路径建议$ ls node_modules
如果采纳建议,可以按下→或Control + F。如果只采纳⼀部分,可以按下Alt + →。 六、⾃动补全
2021年1月编程语言排名onmouseover加入两个函数输⼊命令时,Fish 会⾃动显⽰匹配的上⼀条历史记录。 $ git commit -m "feat: first commit"
如果没有匹配的历史记录,Fish 会猜测可能的结果,⾃动补全各种输⼊。⽐如,输⼊pyt再按下Tab,就会⾃动补全为python命令。
如果有多个可能的结果,Fish 会把它们都列出,还带有简要介绍。 $ vi[按下 Tab 键]vi(Executable link, 2.7MB)view (Vi IMproved, ⼀个程序员的⽂本编辑器)viewer.py (Executable, 967B)viewres (Graphical class browser for Xt)...and 12 more rows
这时,再按⼀次tab,就可以在这些命令之中选择。
除了补全命令,Fish 还可以补全参数。⽐如,ls命令的-l参数后⾯按下Tab键,就会显⽰可以连⽤的其
他参数。 $ ls -l[按下 Tab 键]-l1 (List one file per line)-lA (Show hidden except . and ..) -la (Show hidden)-lB (Ignore files ending with ~)...and 16 more rows```
Fish 还可以⾃动补全 Git 分⽀。 $ git checkout master 七、易懂的语法
Fish 的语法⾮常⾃然,⼀眼就能看懂。
if语句。 ifgrep fish /etc/shells echo Found fishelseifgrepbash /etc/shells echo Found bashelseecho Got nothing end
switch语句。 switch (uname)case Linux echo Hi Tux!case Darwin echo Hi Hexley!case FreeBSD NetBSD DragonFly echo Hi Beastie!case'*'echo Hi, stranger!end
while循环。 whiletrueecho"Loop forever"end
css如何设置滚动条宽度for循环。 forfilein *.txt cp$file$file.bak end ⼋、函数
Fish 的函数⽤来封装命令,或者为现有的命令起别名。 function ll ls -lhG $argvend
上⾯代码定义了⼀个ll函数。命令⾏执⾏这个函数以后,就可以⽤ll命令替代ls -lhG。其中,变量$argv表⽰函数的参数。
下⾯是另⼀个例⼦。 functionlscommandls -hG $argvend
上⾯的代码重新定义ls命令。注意,函数体内的ls之前,要加上command,否则会因为⽆限循环⽽报错。 九、提⽰符
fish_prompt函数⽤于定义命令⾏提⽰符(prompt)。 function fish_prompt set_color purple date"+%m/%d/%y" set_color FF0 echo(pwd)'>' set_color normal end
执⾏上⾯的函数以后,你的命令⾏提⽰符就会变成下⾯这样。 02/06/13 /home/tutorial > ⼗、配置
Fish 的配置⽂件是~/.config/fish/config.fish,每次 Fish 启动,就会⾃动加载这个⽂件。
我们可以在这个⽂件⾥⾯写⼊各种⾃定义函数,它们会被⾃动加载。⽐如,上⾯的fish_prompt函数就可以写在这个⽂件⾥⾯,这样每次启动 Fish,就会出现⾃定义的提⽰符。
Fish 还提供 Web 界⾯配置该⽂件。 $ fish_config
输⼊上⾯的命令以后,浏览器就会⾃动打开本机的 8000 端⼝,⽤户可以在⽹页上对 Fish 进⾏配置,⽐如选择提⽰符和配⾊主题。
责任编辑:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。