美文网首页
Zsh & Bash

Zsh & Bash

作者: 谭雅翔 | 来源:发表于2016-12-02 17:16 被阅读188次

本文是关于zsh(不是oh-my-zsh与bash的对比,主要参考(翻译)自Quora上的一个回答以及stackexchange上的一些讨论标题不用vs是不想让读者产生二选一的想法。

Shell简史

早期Unix上的shell是由Ken Thompson在贝尔实验室完成的,用于Unix 1-6版(Ken Thompson也是Unix和B语言的创造者之一),目前已经不再使用了。

后来,John Mashey在Unix的PWB版本(一个专门面向程序开发者组织的版本)上对Ken Thompson的shell进行了改进,增加了shell变量(环境变量的前身),脚本执行能力,中断处理以及新的控制结构。

在Unix v7版中,Stephen R. Bourne完整的重写了shell,也就是我们现在所说的sh,全称Bourne shell。它的二进制文件为/bin/sh,但是目前的*nix发行版大多将这个文件替换为了指向其它shell的硬链接或者软链接,或者干脆是bash的posix选项重编译版,比如我的mac上是,sh实际上是bash:

ll /bin/sh /bin/bash
-r-xr-xr-x  1 root  wheel   612K  9 14 08:57 /bin/bash
-r-xr-xr-x  1 root  wheel   616K  9 14 08:57 /bin/sh

/bin/sh
sh-3.2$ help
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin16)
...

有人在这里讨论了mac上这个蛋疼的问题。

而目前*nix系统上的默认shell,bash,Bourne-Again shell,是GNU对sh的重写,bash在功能上是sh的超集。

其它的shell,像csh、zsh则各有所长,但是对posix标准的支持没有bash那么严格,因此在大多数的shell脚本教程中,仍然是推荐使用#!/bin/bash做解释器,
这也是为什么目前很多*nix系统使用bash作为默认shell的原因之一。

Zsh与Bash的比较

  1. bash script更加接近posix标准,zsh则更加(´▽`)“灵活”
  2. bash基本上上手即用,zsh则需要繁杂的配置(但我们有神一样的oh-my-zsh
  3. 二者的prompte不同,zsh的prompte可定制性更高
  4. zsh的自动补全功能更加强大
  5. zsh的拼写检查功能更强

总结

从一个交互式终端的角度来讲,zsh更为强大,但是作为脚本解释器,bash更加符合posix标准,因此,建议读者日常使用zsh(配合oh-my-zsh),但是使用bash做脚本解释器。

相关文章

  • Zsh & Bash

    本文是关于zsh(不是oh-my-zsh)与bash的对比,主要参考(翻译)自Quora上的一个回答以及stack...

  • 关于终端命令的笔记

    1,zsh 和 bash 相互切换 zsh,bash 都是shell脚本,zsh 比bash 更加强大。mac 以...

  • mac iterm2配置

    ZSH ZSH介绍 Zsh 兼容 Bash,据传说 99% 的 Bash 操作 和 Zsh 是相同的 zsh具有强...

  • Zsh 入门和介绍

    Zsh 入门和介绍 Zsh 兼容 Bash,据传说 99% 的 Bash 操作 和 Zsh 是相同的 Zsh 官网...

  • bash修改

    bash->zsh修改(记得重启终端) chsh -s /bin/zsh zsh->bash chsh -s /b...

  • 终端类型判断

    打开终端 若输出是/bin/zsh或zsh表示是zsh类型终端 若输出是/bin/bash或bash表示是bash...

  • MacOS 的 zsh 和 bash 切换

    1. 从 bash 切换到 zsh chsh -s /bin/zsh 2. 从 zsh 切换回 bash chsh...

  • MAC-安装zsh

    什么是zsh? zsh类似bash也是一种shell. zsh优点: 兼容bash; 智能拼写纠正; 各种补全:路...

  • MacOS 的 zsh 和 bash 切换

    zsh、bash 都是 shell,zsh 比 bash 更加强大,功能也更加完善,此篇文章说明 zsh 和 ba...

  • mac bash zsh

    zsh、bash 都是 shell,zsh 比 bash 更加强大,功能也更加完善,此篇文章说明 zsh 和 ba...

网友评论

      本文标题:Zsh & Bash

      本文链接:https://www.haomeiwen.com/subject/idcqmttx.html