Fish Shell:
在编程中使用交互式Shell(REPL)
如何操作:
在Fish中,交互式Shell在启动时默认为默认模式。以下是实际操作的样子:
> set color blue
> echo "The sky is $color"
天空是蓝色
您还可以运行内置函数并尝试命令替换:
> function cheer
echo "Go Fish $argv!"
end
> cheer Coders
Go Fish Coders!
不仅仅是定义函数,您也可以即时执行代码片段并立即看到输出:
> math "40 / 2"
20
深入探讨
REPL的概念可以追溯到1960年代的Lisp编程语言。这种形式的交互式编程为像Python的ipython
和Ruby的irb
这样的环境设定了标准。Fish继续这一趋势,专注于用户友好性和交互式使用。
Fish与其他像Bash这样的Shell不同,在设计之初就考虑到了交互性。它提供了语法高亮、自动建议和标签补全,这使得它在REPL风格的工作流中非常强大。更好的是,您的命令会被记住并且可以搜索,使得重复测试变得轻而易举。
Fish的REPL的替代品可能是bash
或zsh
,当与诸如bash-completion
或oh-my-zsh
之类的扩展配对时,但Fish往往提供更丰富的开箱即用体验。
另请参阅:
- Fish文档:https://fishshell.com/docs/current/index.html
- Fish与其他Shell的有趣比较:https://www.slant.co/versus/2209/3686/~fish_vs_bash
- 深入了解REPLs:https://en.wikipedia.org/wiki/Read–eval–print_loop
- Lisp中的交互式编程,一个历史回顾:http://www.paulgraham.com/ilisp.html