一、dash shell
dash shell不能识别bash shell的所有脚本编程功能
dash shell支持expr命令和双圆括号方法,但不支持方括号方法。
bash shell的test命令允许你使用双等号(=)来测试两个字符串是否相等。这是为了照顾习惯在其他编程语言中使用这种格式的程序员而加上去的。
但是,dash shell中的test命令不能识别用作文本比较的=-符号,只能识别=符号。如果你在bash脚本中使用了=-符号,就得将文本比较符号改成单个的等号。dash shell不支持function语句。在dash shell中,你必须用函数名和圆括号定义函数。如果你编写的脚本可能会用在dash环境中,就必须使用函数名来定义函数,决不能使用function()语句。
二、zsh shell
下面是zsh shell的一些独特的功能:
口改进的she1l选项处理
口 shell兼容性模式
口可加载模块(可加载模块是shell设计中最先进的功能)
可加载模块
这个功能提供了一个极佳的方式:在需要较小shell体积和较少命令时限制zsh shell的体积,
在需要更快执行速度时增加可用的内建命令数量。到目前为止,zsh shell是所有shell中可定制性最强的。你可以更改很多shell
环境的特性。不同的选项可以分成以下几大类。 更改目录:该选项用于控制cd命令和dirs命令如何处理目录更改。
补全:该选项用于控制命令补全功能。
扩展和扩展匹配:该选项用于控制命令中文件扩展。
历史记录:该选项用于控制命令历史记录。
初始化:该选项用于控制shell在启动时如何处理变量和启动文件。
输入输出:该选项用于控制命令处理。
作业控制:该选项用于控制shell如何处理作业和启动作业。
提示:该选项用于控制shell如何处理命令行提示符。
脚本和函数:该选项用于控制shell如何处理shell脚本和定义函数。
shell仿真:该选项允许设置zsh shell来模拟其他类型shell行为。
shell状态:该选项用于定义启动哪种shell的选项。
zle:该选项用于控制zsh行编辑器功能。
选项别名:可以用作其他选项别名的特殊选项。zsh shell核心内建命令
exec 执行指定的命令和参数来替换当前she1l进程
。。。 。。。。。。
查看、添加和删除模块
zmodload命令是zsh模块的管理接口。你可以在zsh shell会话中用这个命令查看、添加或删
除模块。