📚

[UNIX系・shell]bashとshの違いなどなど

2024/09/19に公開

はじめに

今日はシェルについて触れていきます。というのも今日仕事をしながらshellを叩く際、xオプションを付けようとして、shellについて調べてる中でふと、「bashやshって何が違うんだっけ」と思いました。なので、調べたことなどを自分なりにまとめて見ます。初学者向けなので、簡単にまとめています!
気軽に見て見てください。

結論

「bashやshの違い」は、同じシェルだけど、種類が違う!です。
個人的な感想ですが、ポテチののり塩とうす塩みたいな感じだと思いました笑

shell(シェル)とは

shellとは、OSの操作を行うためのコマンドインターフェイスです。
「シェルを叩く」などの表現のように、ユーザは、コマンドをshellを経由して(叩いて)、OSに伝え実行するインターフェース(接点)です。
shellの種類としては、bash,sh,zsh,csh,などなどがあります。
(Bourne系のシェルとC系のシェルがありますが、今回はごちゃごちゃするので、触れません。。)
それでは、今回思った「bashやshって何が違うんだっけ」について触れていきます。

bashとは

bashは、macOSのターミナルでも使用することができ、shに補完機能をつけたものがbashのイメージです。(なので、ポテチののり塩感覚です笑)個人的には、Linuxだけに留まらず、他OSでも使えることができるのがかなりいいなという感覚です。また、コンパイルをせずに作成できます。

shとは

無印であることから分かるように、シェルの元祖!というイメージです。(ポテチのうすしお)

zshとは

zshは、bashやksh機能などなど、上位互換のようなものです。なので、基本的にはzshの方がいいんじゃないのかなと思ってます。(調査不足であればすみません)

自分のPCのシェルを確認してみよう

Mac用

以下のコマンドを実行して見てください。

#shellを確認
echo $SHELL
#zshの場合は以下のように出力
/bin/zsh

のように出力されるはずです。

Windows用

Windowsは、標準がPowerShellの認識で、確認できるコマンドがわかりません!(わかる方いたらコメントで教えていただきたいです。)

Linux用

Linuxでは、以下のようなコマンドで確認できます。

#shellを確認
echo $0
#zshの場合は以下のように出力
zsh
#bashの場合は以下のように出力
bash

まとめ

今回は、shellについて触れいくつかのshellについて軽く説明し、自身のPCが使っているシェルを確認するコマンドなども触れていきました。
また、気になったことをまとめていきます。

Discussion