Shell

Bourne Shell - 1977

Bell Labs 當初釋出的實做

ash (Almquist shell)

  • FreeBSD sh 是基於 ash (Almquist shell) 再去改的

  • BusyBox 裡面也是基於 ash

fish - friendly interactive shell

Site

http://fishshell.com/

Repo

https://github.com/fish-shell/fish-shell

Extend Framework

https://github.com/oh-my-fish/oh-my-fish

fish 3.0

xonsh - cross-platform, Unix-gazing shell in Python

Site

http://xon.sh/

Repo

https://github.com/xonsh/xonsh

Shell Language 是 Python 3.4+ 的 superset, 藉由 prompt-toolkit 撰寫互動界面, 使用 pip 安裝後即可使用。

Oil - bash-compatible shell in Python

Site

https://www.oilshell.org/

Repo

https://github.com/oilshell/oil

Oil 使用自己 fork 出去的 CPython 2.7, 會搭配自己的修改後包在最後釋出的執行檔裡。

增加 Shell Script 品質的技巧

  • 函式命名使用 :: 作為 namespace 的方式(只是函式名稱剛好有這字串)