質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

Q&A

受付中

シェルスクリプトの実行方法のshとbashの違いについて

kaki_P24
kaki_P24

総合スコア0

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

3回答

0グッド

0クリップ

400閲覧

投稿2023/01/26 07:51

質問内容

シェルスクリプトを実行する際に以下の方法があると思います

  • .Script.sh
  • sh ./Script.sh
  • bash ./Script.sh
  • source ./Script.sh
  • . ./Script.sh

上3つは子シェルが開いてそこで実行
下2つは現在開いているシェルで実行される
という所までは理解しました。
しかしshでの実行とbashでの実行にはどういった違いがあるのでしょうか?
調べてもshだけやbashのみの解説が多くこの2つの違いがわかりませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答3

1

shとbashがそれぞれ全く異なるコマンドの場合と、同じコマンドの別の名前である場合とがあります。

shとbashが異なる場合、shだとbash独自拡張機能が使えません。
概ねbashはshの上位互換です。

同じファイルの別名の場合も、bashがshという名前で起動されると、POSIX互換モードになるので一部のbash拡張機能が使えません。

投稿2023/01/26 08:32

otn

総合スコア81196

yuma.inaura👍を押しています

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

kaki_P24

2023/01/27 01:01

なるほど つまりシバンに書くshとbashの違いと同じという認識でいいですかね?
otn

2023/01/27 01:45

> つまりシバンに書くshとbashの違いと同じという認識でいいですかね? ?? shbang行の意味をどのように理解していますか?

1

https://www.google.co.jp/search?q=sh+bash+%E9%81%95%E3%81%84

参考になる検索結果は見つからなかったのでしょうか。

投稿2023/01/26 08:12

arcxor

総合スコア2451

maisumakun👍を押しています

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

1

しかしshでの実行とbashでの実行にはどういった違いがあるのでしょうか?

書いてのとおり、shで実行するかbashで実行するかの違いです。

bashのほうが拡張機能があって書きやすいですが、shはあってもbashのない環境は存在します(そのような環境ではsh用のシェルスクリプトを書く必要があります)。

投稿2023/01/26 08:10

maisumakun

総合スコア142286

yuma.inaura👍を押しています

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。