Linuxのシェルに関する世界観です。
Linuxでは、コマンドラインシェルを別のシェルに変えることができる。
これは、X11でウィンドウマネージャやデスクトップ環境を別のものにするのと同じ。
Bashを使う上でもカスタマイズが可能だが、シェルを別のものに変えることで、別の操作性や便利な機能を使うことができる。
また、シェルスクリプトなどの文法も違う。そのため、Bashで動くコマンドが別のシェルでも同じコマンドになるとは限らない。
BashはLinuxで標準的に使われているシェル。Bourneシェルの後継。
GNUプロジェクトの開発したシェルであり、Linuxのほか以前のMac OS Xでも標準的に使われていた。
Bashを参照のこと。
Cシェルは、BSDやviの開発者でスーパープログラマのビル・ジョイによって開発された、C風の文法を持つシェル。
FreeBSDなどのBSD系UNIXでは、csh/tcshを標準的に使う。
cshを参照のこと。
kshを参照のこと。
zshを参照のこと。
fishを参照のこと。
nuは今までと異なる新しいシェル。Rustで作られている。
多くのUNIXコマンドがシェルに組み込みでありながら独自仕様で、出力結果に型がある(文字列ではない)という特徴がある。
Rustも参照のこと。
2023.10.02
dashはDebianの/bin/sh。sh互換でありながらbashより機能が少なく高速。主にsh互換のシェルスクリプトを高速に実行するために用意されている。Bashの機能を使いたければshebangを#!/bin/bashにすること。
通常の対話型シェルは、今まで通りBashを使う。
Debianも参照のこと。
Windows向けの新しいシェルであるPowerShellはLinuxで使うこともできる。
PowerShellを参照のこと。
X11上のターミナルエミュレータを使う場合に比べて、黒画面のコンソールではシェルのコマンドライン操作を行うにもさまざまな制約があります。
そのような時には、超便利なソフトウェア、GNU Screenを使いましょう。
詳しくはLinux端末を参照のこと。
Starshipはカスタマイズの可能なプロンプト。シェルの入力画面が豪華になる。
2023.09.28
シェルの一覧は/etc/shellsファイルに存在する。
2024.07.28
ユーザーのログインシェルは/etc/passwdファイルに記述されている。
2024.07.28
ユーザーのログインシェルの変更はchshコマンドで行える。
2024.07.28
新規ユーザーを作る時は、useraddコマンドの-sオプションでログインに使うシェルを設定できる。
UNIXシステム管理(ユーザーとパーミッション)を参照のこと。
2024.07.28