|
这两天尝试了zsh,真是惊讶,功能之丰富有令人有在山阴道中行,目不暇接之感。
递归glob: grep pattern /path/to/dir/**/*.c,连find都省了。
可以和sh表现不同的word split: a="some words" touch $a, 不用双引号了。
浮点数运算: print $((10.0/3)), 3.3333333333333335
比如: set +o rmstarsilent,(默认),有了这个,前几天我也不会在家目录中来个rm /tmp/somedir * -f了
再如: set -o autocd, cd都可省略,直接输入目录就可进入
和sh不太一样的重定向:
比如: command |& >file, 同时重定向stdout和stderr到file, 当然也可以command 2>&1 | file
同时重定向到多个文件: command >file.1 >file.2
纠正拼写,比如当前目录下只有Documents子目录,但你输入了cd do,它会自动纠正为cd Documents
非常强大的行编辑器,甚至支持如多行编辑:
print line1,按esc, return, 输入print line2, return
line1
line2
zsh提供了很多可载入的模块,甚至包括一个ftp客户端系统。
zsh的提示符高度可定制,在我看来比bash更为简明,色彩不用ansi转义序列,直接用色彩名,zsh甚至还有提示符主题的概念,有prompt内建命令,载入promptinit模块后,可从多个提示符主题中选择。
等等,等等。
zsh在交互使用上,真是无与伦比。
我该考虑chsh -s /bin/zsh了。
那么zsh是否可替代bash,作为系统的/bin/sh呢,理论上应该可以,zsh可以模拟ksh, posix sh,所以现有的sh脚本可以在zsh下运行,不过好像没有什么发行版这么做。 |
|