• ベストアンサー
  • すぐに回答を!

bad interpreterで、シェルが使えません(T_T)

RedHat9ではよく以下のような胃の痛いような エラーがでます。 rootでシェルが実行できないのですが、 どうすれば実行できるでしょうか? ■1.shというシェルファイル #!/bin/sh /bin/touch 1 ■1.shを実行するとエラーになります。。 # ./1.sh : bad interpreter: そのようなファイルやディレクトリはありません ■cronでも動きません。。 /bin/bash: 1.sh: /bin/sh: bad interpreter: No such file or directory

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数10597
  • ありがとう数7

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.3

/bin/shはありますか? シェルスクリプトの最初の行(#!で始まる行)は、インタープリタの指定を意味しています。 つまり、#!/bin/shと書けば、「このファイルは/bin/shをインタープリタとする」ということです。 なので、 "/bin/bash: 1.sh: /bin/sh: bad interpreter: No such file or directory" このエラーは、「/bin/bashが1.shを実行しようとしたが、/bin/shが無い」ということを意味しています(多分)。 RedHat9では、/bin/shは/bin/bashへのリンクなので、もし無ければ ln -s /bin/bash /bin/sh とすると良いでしょう。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

みなさまのおかげで 残るはそこかなと思いやってみたところ、解決しました!!ありがとうございます。 結局、SAMBAで作成したファイルの文字コードがSJIS だったのがいけないようです。vi でファイルを作り直した所、正常に動作しました。

関連するQ&A

  • bad interpreter:エラーについて

    -bash: ./test.pl: usr/bin/perl: bad interpreter: というエラーについてです。 掲題のエラーが出てしまい、perlが動かないので困っています。 どうすればいいのか教えてもらえませんでしょうか。 【状況】 VMwareplayer3.1.2上で、CentOS5.5を動かし、デフォルトで入っているperlを使ったファイル「test.pl」を作っています。 test.plを実行しようとしているのですが、以下のエラーメッセージが表示されます。 -bash: ./test.pl: usr/bin/perl: bad interpreter: そのようなファイルやディレクトリはありません 実行した際のコマンドは./test.plです。 test.plの中身は以下。 ------------------------------------------------------ #!/usr/bin/perl use strict; use warnings; my $name = "morifuji"; print "Hello ". $name . "\n"; ------------------------------------------------------ 【確認済み事項】  test.plの置き場所は/usr/bin/perlです。  ls -lで権限をみたところ、rwxr-xr-x furukawa root 4096となっている。  perl test.plと命令するとエラーは返らずちゃんと表示されます。  (perlを省いて、test.plと命令するとエラーになる。これだと、webから表示されたときに動きません)  FTPとかで転送すると文字コードの問題でバグが出る、という風な記事を見かけたが、VMwarePlayerなのでそういったやりかたはしていない。  which perlと命令してperlの場所を探したが、 /usr/bin/ にある。

  • シェル エラーについて

    Linux programming 3rd Editionと言う本にサンプルプログラムがあるんですけど、試しに使ってみたら /bin/sh^M: bad interpreter: No such file or directory と出てきました  通訳すると”下手な通訳:このファイルまたはディレクトリは見つかりません” /bin/sh^Mの^Mってなんですか?

  • shで、パスがとおりません

    シェル内の リダイレクトのパスが通らない原因は何でしょうか? ◆シェル実行時のエラー bash: ./bb.sh: bad interpreter: No such file or directory ◆シェル(PostgresqlへCSVデータ取込) #!/bin/sh /usr/local/pgsql/bin/psql -d swan2 -c "copy abctbl_wk from stdin using delimiters ',' with null as ''" < ./csv/abcTBL.csv

その他の回答 (2)

  • 回答No.2

$ touch 1 と実行することで、「1」というファイルがなければ、新規作成されます。 /bin/touch 1 touchコマンドは、/bin 配下にありますか? /usr/bin 配下にあるとか? # ./1.sh 1.shファイルに実行権はありますか?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

はい。全てあります。 難攻不落な問題です。。 さくらインターネットでもRedHat9が入っていて 以前、同じような問題があり解決できませんでした。。touchコマンドに限らずどのコマンドでも 同じ挙動です。。

  • 回答No.1

1.sh の中の /bin/touch 1 ↑ の "1" というファイルに対してtouchしてるようですが、カレントディレクトリに "1" というファイルが存在しないのではないでしょうか? % /bin/touch 1 で実行できますか?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

はい、1というファイルは存在しますし、 コマンドラインで実行もできます。 一応サーバー暦は実質2年ぐらいあるのですが、 本当、RedHat9だけこういう現象があって泣かされます。。あきらめてOS入れなおしでCentOSにしようかなぁ。。

関連するQ&A

  • 【Linux】シェルの実行方法を教えて下さい。

    【Linux】シェルの実行方法を教えて下さい。 ファイルの中身が#!/bin/bashで始まる拡張子shのシェルがあります。 これを実行するには、どのようなコマンドを打てばよいのでしょうか? 1.rootでログイン。 2.test.shがあるフォルダに、cdで移動する。 3.test.shと入力し、Enterキーを押す。 ↑みたいな感じで良いのでしょうか。 テスト用サーバなので、最悪壊しても良いと上司に言われましたが、 なにぶん時間がないため質問させていただきました。 Redhatでバージョンが3か4だったと思います。 よろしくお願いします。

  • シェルスクリプトの作り方

    OSはVineで、bashシェルです。 シェルスクリプトの作り方ですが、 1.ファイルを作る。 例えば、 #!bin/sh cd tmp このとき、ディレクトリはどこでもいいのでしょうか? 2.権限を付ける。 chmod u+x filename 3.実行 ./filename 他に気をつけることはないでしょうか? 実行すると、 bash: ./filename: bad interpreter: そのようなファイルやディレクトリはありません となってしまって、どうしても実行できません。

  • #!/bin/bash のラインでエラー発生

    お世話になります。 Linux初心者です。 下記のような***.shを作成し、./***.sh で実行すると、/bin/bash^M bad interperter: No such file or directory というエラーが発生してしまいます。 原因として考えられる事をご教授頂けないでしょうか? --------------------------------------- #!/bin/bash PATH=/usr/local/bin:/bin:/usr/bin for conf in /etc/webalizer*.conf do ~ ---------------------------------------

  • rubygems, railsのインストール

    ruby on railsに詳しい方で分かる方がいればご教授いただきたいです。 先日までruby1.9.3, rails3.2.4を使用できていたのですが、他にいろんなものをインストールをしていた時に何か変になってしまったのか、突然railsが使用できなくなってしまいました。 OSはMac OS X 10.7.5です。 rails、gemの場所を調べるとopt/local/bin/となっているのですが、rails-vとすると -bash: /opt/local/bin/rails: /opt/local/bin/ruby: bad interpreter: No such file or directory gem -vとすると -bash: /opt/local/bin/gem: /opt/local/bin/ruby: bad interpreter: No such file or directory となってしまって使えません。しかしrubyは正常に動いているようです。 何か分かる方がいらっしゃいましたら、お力を貸して下さると非常に助かります。 作業ができずに困っています。どなたか、お願いします><

    • ベストアンサー
    • Ruby
  • Linuxでシェルスクリプトがフルパスだと実行できない

    Linuxでシェルスクリプトがフルパスだと実行できない こんにちは 現在linuxでシェルスクリプトを記載していて、やっと出来た!と思ったら、なぜかフルパスで実行すると失敗します。 中身は例えば #!bin/sh echo "hello" とし、ファイル名をtest.shとします。 実行時にカレントからだと上手くいきます。 ./test.sh ただし、フルパスで実行するとうまくいきません。 ./home/user/test.sh エラーは以下 bash: ./home/dv3/tet.sh:No such file or directory 所有者はrootでグループもrootにしてあります。 シェルの権限は755にして、rootで実行しています。 なぜカレントだと上手くいき、フルパスだと上手くいかないのでしょうか? パスが必要なコマンドも入っていないのに。。。 どなたかご教授いただけると幸いです。 宜しくお願い致します。

  • シェルコマンドでphpを実行したい!

     さくらインターネットでcron設定を使って月末になると起動するphpを読み込もうとしたいのですが、どうやっても上手くいきません。 いろいろと参考になるサイトはあるのですが、動かない理由がわからないのでどなたか教えてください。  まず、cron設定で設定しているシェルのファイルが置いてあるパスに間違いはありません。  次にシェルファイルに書いてあるコードは以下です。 #!/bin/sh PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin cd /home/自分のID/www/自分で作ったフォルダ/; ./自分で作ったフォルダ/phpファイル という風に書いてあります。 ところが、時間になるとこれが実行されず、 サーバーよりエラーメールが届きます。 [not found]と一言。 …最初、シェルファイルの階層が間違っているかと思ったのですが、 どう見てもあってますし…中身が問題なのかなぁ、と考えます。 何かわかれば、是非教えてください。 お願いします。

    • ベストアンサー
    • PHP
  • シェルスクリプト(Bash偏)の実行ファイルに関するご質問があります。

    シェルスクリプト(Bash偏)の実行ファイルに関するご質問があります。 ファイル名を変更するシェルスクリプトをbashで行おうとプログラムを作成したのですが、 実行するとbad interpreter: ディレクトリではありません とメッセージが出て終了します。記述に誤りがあるのか、実行の仕方が悪いのか分かりません。教えて下さい。 シェルの記述内容は ファイル名をtest.sh #!/bin/bash/ -f mv A.txt A.ori exit 実行方法として #>chmod x+a test.sh #>./test.sh で行いました。そうしたら、bad interpreter: ディレクトリーではありません とメッセージが出ます。 ちなみに #>. test.sh で実行するとターミナルがシェルの実行と同時に閉じてしまいますが、シェルを実行したディレクトリーを確認すると、処理が終わっておりました。

  • シェルからサービスの起動

    こんばんは。 シェル(bash)からFTPサービスを起動したいのですが、 シェル実行時にエラーとなってしまいます。 [root@HOST1 sh]# vi ftpstart.sh #------------------------------------- # Start Up FTP #------------------------------------- #!/bin/sh $service vsftpd start >> ${LOG_NAME} ・ ・ [root@HOST1 sh]# chmod 777 ./ftpstart.sh 実行時にエラー発生: [root@HOST1 sh]# ./ftpstart.sh 500 OOPS: vsftpd: cannot open config file:start ちなみに「service vsftpd start」を単発で実行すると 問題なくサービスは起動します。 シェルの記載が間違えているのでしょうか・・。 よろしくお願いします。

  • なぜLinuxでKornシェルが使えるのでしょうか?

    Linux初心者です。 シェルについてわからないことがあり、質問させていただきます。 Linux(Red Hatを使っています)の /bin/shと/bin/cshは、それぞれ/bin/bash、/bin/tcshのシンボリックリンクファイル、 なのに対して、なぜkshだけは/bin/kshそのままなのでしょうか? また、KornシェルはAT&T社が開発したものだそうですが、 これはLinuxで使う際にライセンスの問題に触れないのでしょうか? よろしくお願いいたします。

  • LinuxでKornシェルが使えるのは何故でしょうか。

    Linux初心者です。 シェルについてわからないことがあり、質問させていただきます。 Linux(Red Hatを使っています)の /bin/shと/bin/cshは、それぞれ/bin/bash、/bin/tcshのシンボリックリンクファイル、 なのに対して、なぜkshだけは/bin/kshそのままなのでしょうか? また、KornシェルはAT&T社が開発したものだそうですが、 これはLinuxで使う際にライセンスの問題に触れないのでしょうか? よろしくお願いいたします。