Shell
Thompson shell - first Unix shell - 1971
- Wikipedia:
Bourne Shell - 1977
Bell Labs 當初釋出的實做
csh - 1978
tcsh - 1983
ksh (Korn Shell)
pdksh (Public Domain Korn Shell)
mksh
ash (Almquist shell)
FreeBSD
sh
是基於ash
(Almquist shell) 再去改的- BusyBox 裡面也是基於
ash
- BusyBox 裡面也是基於
Bash (Bourne-again shell) - GNU Project
- Site:
- Repo:
- Extend Framework:
dash
zsh
- Site:
- Repo:
- Repo-GitHub:
- Repo-GitLab:
- Extend Framework:
fish - friendly interactive shell
- Site:
- Repo:
- Extend Framework:
fish 3.0
支援
&&
||
!
以便從相容 POSIX 規範的 shell 遷移過來math
不再是bc
的包裝
xonsh - cross-platform, Unix-gazing shell in Python
- Site:
- Repo:
Shell Language 是 Python 3.4+ 的 superset, 藉由 prompt-toolkit 撰寫互動界面, 使用 pip 安裝後即可使用。
Oil - bash-compatible shell in Python
Oil 使用自己 fork 出去的 CPython 2.7, 會搭配自己的修改後包在最後釋出的執行檔裡。
Elvish - friendly interactive shell in Go
- Site:
- Repo:
Ion - RedoxOS shell in Rust
工具
增加 Shell Script 品質的技巧
函式命名使用
::
作為 namespace 的方式(只是函式名稱剛好有這字串)