[UNIX系・shell]bashとshの違いなどなど
はじめに
今日はシェルについて触れていきます。というのも今日仕事をしながら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