やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

コマンドラインShell一覧

 どのShellを勉強したらいいのか。

情報源

Unixシェル抜粋

 Linuxではbashが幅広く使われているらしい。しかしPOSIX非互換を含む。

Raspbianのシェル

$ ls -l /bin | grep 'sh$'
-rwxr-xr-x 1 root root 912712  516  2017 bash
-rwxr-xr-x 1 root root  91764  124  2017 dash
lrwxrwxrwx 1 root root      4  516  2017 rbash -> bash
lrwxrwxrwx 1 root root      4  124  2017 sh -> dash
lrwxrwxrwx 1 root root      4  124  2017 sh.distrib -> dash

 RaspbianはDebian派生のためか/bin/sh/bin/dashのようだ。

学習の対象・優先度

  1. sh(dash)
  2. bash

 理由は以下。

  • sh(dash)はPOSIX互換であり互換性が最高のため最優先とする
  • bashPOSIX非互換を含むが多くの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