shell周りの用語の分類
UNIX環境では、OSのユーザーインターフェースを担当する部分のこと
シェルはいくつか種類がありユーザーが切り替えて使うことができる
対話的環境で使う
入力補完や入力履歴はシェルの役割
ユーザー独自の設定が可能(aliasとか、環境変数とか)
ログインしたとき設定ファイルを読み込む
シェルスクリプト実行時は、この設定ファイルを読み込まないので注意が必要
バッチ的に使う
例えば、夜間に行われる各種の保守作業など
システムに負担をかけないため、シェルスクリプトには多機能のシェルは使わないことが多い
デメリットをわかっていたら、べつに多機能のシェルでスクリプトを書いて使ってもかまわない
スクリプトを書くのに必要最小限なシェルを使うことが多い
互換性のため
セキュリティリスクを減らすため
本当かな?inajob.icon
セキュリティリスクの種類に寄りそうだが、シェルスクリプトで書かれたプログラムに堅牢さは期待しないなぁ
便利な機能は悪用されるとセキュリティホールになり得るので、あえて低性能のシェルを使っているとのことですsuto3.icon
↑の説明少し変ではないかい suto3.icon
shell scriptを書くときに使う言語をshell scriptと呼ぶと勘違いしてましたtakker.icon
とすると、「shell scriptを書くときに使う言語」はなんと呼ぶのだろう?
元々はコンピュータ本体の操作卓のこと
今はターミナルで、ほとんど全ての操作ができるので、ターミナルとほぼ同じ意味である
端末装置
そういう機械を売っていた(実物は見たことがない)
一台のコンピュータ(ホスト)に複数のターミナルがつながっていた(らしい)
ターミナルをエミュレートする(真似をする)ソフトウェア
例えば、VT100という設定をするとVT100という端末装置のふりをしてサーバーと通信をする
マルチプレクサだから多重化するものという意味 suto3.icon
複数の「cmd.exeやPowerShell.exeのようなshell scriptを実行するアプリケーション」を起動できる
ターミナルで動く、ターミナルを多重化するソフトウェアのことかな?inajob.icon
そうすれば上の疑問は解消しそう
例:vscode, vim, emacs, メモ帳
インタラクティブ(対話的)に使うシェル
こうしたほうがわかりやすくない?suto3.icon
そういう意味だったのかtakker.icon
勘違いしてました
直しました
定義を見たことがないなinajob.icon
何か違和感があるが、良い書き方を提案できるほど知らない
この定義を知らなくて困ることがないのでそこまで厳密さが気にならない