コマンドラインShell一覧
どのShellを勉強したらいいのか。
情報源
Unixシェル抜粋
- Bourne Shell (sh) POSIX互換
- Almquist Shell (ash) POSIX互換
- Debian Almquist shell (dash) POSIX互換
- Bourne-Again shell (bash)
- KornShell (ksh)
- Z Shell (zsh)
- Almquist Shell (ash) POSIX互換
Linuxではbash
が幅広く使われているらしい。しかしPOSIX非互換を含む。
Raspbianのシェル
$ ls -l /bin | grep 'sh$' -rwxr-xr-x 1 root root 912712 5月 16 2017 bash -rwxr-xr-x 1 root root 91764 1月 24 2017 dash lrwxrwxrwx 1 root root 4 5月 16 2017 rbash -> bash lrwxrwxrwx 1 root root 4 1月 24 2017 sh -> dash lrwxrwxrwx 1 root root 4 1月 24 2017 sh.distrib -> dash
RaspbianはDebian派生のためか/bin/sh
が/bin/dash
のようだ。
学習の対象・優先度
- sh(dash)
- bash
理由は以下。
- sh(dash)はPOSIX互換であり互換性が最高のため最優先とする
- bashはPOSIX非互換を含むが多くのLinuxで使われているらしいので対象とする
- zshは高機能らしいがbashほど使われていないため対象外とする
おおまかな目的は以下。
- 互換性の高いコードを書けるようになること
- 互換性を犠牲にしてでも複雑な処理を端的なコードで書けるようになること(便利機能を使いこなすこと)
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13
$ uname -a Linux raspberrypi 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux