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

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

新規登録して質問してみよう
ただいま回答率
85.50%
シェルスクリプト

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

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

Q&A

解決済

2回答

8945閲覧

シェルスクリプトを使いたい bad interpreterというエラーが出て、うまくアクセスできない。bash ./を使った場合実行できる。

Kchan_01

総合スコア110

シェルスクリプト

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

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

0グッド

1クリップ

投稿2020/03/11 07:11

##環境
macOS Catalina
バージョン 10.15.3
terminal 2.10(433)

##やりたいこと
下記のサイトを参考に、シェルスクリプトの勉強をしています。
シェルスクリプトを触るのは今回が初めてです。

【初心者向け】シェルスクリプトの作り方と実行方法
https://eng-entrance.com/linux-shellscript-do

まずterminalを立ち上げ、下記を打ち込みました。

#!/usr/bin/bash

下記でファイルを作成

vi testscript.sh

中身を書き込みました。

#!/usr/bin/bash echo hello-world

:wqで終了し、
下記で権限を設定して、

chmod 755 testscript.sh

下記で実行しました。

./testscript.sh

すると、 実行されません

-bash: ./testscript.sh: /usr/bin/bash: bad interpreter: No such file or directory

##試したこと

下記を入力すると

sed -i 's/\r//' *.sh

下記が出ました。

sed: 1: "testscript.sh": undefined label 'estscript.sh'

再度、下記を実行しましたが、同じbad interpreterというエラーが出てうまくいきません。

./testscript.sh

lsコマンドで確認してもtestscript.shは表示されています。

下記のように実行しましたが、無理でした。

./ttestscript.sh

結果は

sed: 1: "testscript.sh": undefined label 'testscript.sh'

です。

下記では出来ました

bash ./testscript.sh
hello-world

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

/usr/bin/bash: bad interpreter

エラーメッセージのとおりです。

最初に書いたコメントはシバンと呼ばれ、このファイルを指定されたプログラムで実行する、という意味になるのですが、/usr/bin/bashがなかったためにエラーとなっています。

which bashなどでシェルのある位置を調べて、そのパスを#!に続けて書いてください。

投稿2020/03/11 07:16

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kchan_01

2020/03/11 07:18

which bashと打つと、/bin/bashと出ました! ありがとうございます!
guest

0

#!/usr/bin/bash じゃなくて #!/bin/bash だと思います。

投稿2020/03/11 07:13

hoshi-takanori

総合スコア7893

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kchan_01

2020/03/11 07:18

#!/bin/bashで解決しました!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問