• ベストアンサー
  • 困ってます

#!/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 ~ ---------------------------------------

noname#58274

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

  • 回答数3
  • 閲覧数1609
  • ありがとう数4

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

  • ベストアンサー
  • 回答No.2
  • Lean
  • ベストアンサー率72% (435/603)

Windowsでは、CR(Carriage Return)+LF(Line Feed)の2バイトで改行コードを表します。 Linuxを含むUNIX系OSでは、LFの1バイトで改行コードを表します。 そのため、Windowsでの改行コードのままLinuxに転送すると、Windowsの改行コードのCR+LFのCRがLinuxに置いては >/bin/bash^M bad interperter: No such file or directory のようにゴミ(^Mの部分がCR)として付くため、「/bin/bash^M」というコマンドを実行しようとしますが、そんなコマンドはないですから質問にあるようなエラーになります。 Windowsで改行コードをLFで保存してくれるエディタを使用するとか、FTPで転送する際で改行コードを変換してくれるWindowsのFTPソフト(クライアントソフト)を使用するとか、Linux側でnkfあたりで改行コードを変換するとかすれば質問にあるエラーはなくなると思いますよ。

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

質問者からのお礼

丁寧な解説ありがとうございます。 先ほど実験して、解決しました。 Linux知ってる人からすればあほみたいな質問だったのだと思うと少し恥ずかしいです。 もう少し勉強します。

関連するQ&A

  • CentOSでアップデート中に再起動してエラー発生

    現在CentOS5を使用しているのですがアップデート途中に再起動をしてしまった為、起動中にエラーが発生して止まってしまいます。 復旧方法があれば教えて頂きたいのですが・・・エラーの内容は bash: dircolors: command not found bash: /usr/bin/id: No such file or directory bash: [: =: unary operator expected bash: /usr/bin/id: No such file or directory bash: [: =: unary operator expected bash: /usr/bin/pkg-config: No such file or directory と表示されます、宜しく御願いします。

  • シェル エラーについて

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

  • わからないエラーが出て困っております。

    Mac OS X 10.4.11を使っております。 /bin/sh: line 1: /usr/bin/dscacheutil: No such file or directory というエラーが出る場合はどうしたらいいのでしょうか...本当に全然わからない初心者で困っております。

    • ベストアンサー
    • Mac

その他の回答 (2)

  • 回答No.3

error message を見て ^M が CR であることに気づかないことが 私は、悲しいです。 http://ja.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange

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

  • 回答No.1
  • Wr5
  • ベストアンサー率53% (2177/4070)

そのスクリプトはどのように作成したのでしょうか? Windowsのエディタで書いて、FTPのバイナリモードで転送した。 とかいうことはありませんか?

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

質問者からの補足

ファイルはWindowsで作成しました。 ただ、Linux上でviで見ても、コメントアウト部分以外ちゃんと見れますので、文字コードとかの問題はないかと思っていました。

関連するQ&A

  • 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
  • シェルスクリプト bashのtestコマンドが動きません

    こんにちは、ど素人なのにシェルスクリプト仕事で書かされ苦しんでます。 SUN-solaris8で動作したシェルをLinuxE3.0へ移動させたら testコマンドでエラーになりました。 SUN-solaris8ではbsh LinuxE3.0ではbashです。 test -s file名は両方で認識するようですが、 test -s ../directory名/file名で指定して 実行するとSUNでは動作したのですが Linuxではわけの分からないメッセージが出て終了。 Linuxで % sh と打つと/bin/bash % test と打つと /XXX/usr/binだったかな?パス忘れました。 % man bashでマニュアル見るとtestは[]で囲め?   英語だから良く分からなかった。   疲れたので今日は諦めました。 testコマンドで良い解決法ご教示願います。 情報が不足なら指摘いただいた物を追加いたします。

  • Webalizerの設定がうまくいきません

    今現在Webalizerというソフトを動かそうとしてるのですが、Webalizerをeeエディターで編集した後に /usr/local/bin/ja-webalizer -c /usr/local/etc/webalizer.conf(実際は一行です) を実行したら下記のエラーがでました。 No valid records found! これはレコードが見つからない。と書いてあるのですが、どこを修正したらWebalizerが動きますか? 何か知っている方教えて下さい。宜しくお願いします。

  • ~/.bash_profileがログイン時に反映されないのはなぜ?

    LINUX系OS全般的に初心者です。 TeraTermを使いサーバにTelnet接続し、~/home/(ユーザ名)パスの下に .bash_profileファイルを以下の内容で作成しました。 export PATH=/usr/local/pgsql/bin:$PATH (この1行のみ) そして、再度同ユーザでログインしても/usr/local/pgsql/bin が$PATHに追加されていません。 source ~/.bash_profileを実行すると追加が成功することから どうやら.bash_profileの内容自体には問題ないようなのですが、 ログイン時に反映されないのはなぜでしょうか? お分かりになる方、どうかご教授ください! ちなみに、echo $HOMEの内容は確認済みで、 $HOME = 'home/(ユーザ名)'となっています。 なので、ファイルの置き場所も間違ってはいないと思うのですが? よろしくお願いいたします。

  • パス(PATH)の設定ファイルについて

    OSはRed Hat Linux 9 を使用しております。 また、シェルはbashを使用しております。 ユーザがシステムにログインする際は、通常ですと /etc/profile ~/.bash_profile ~/.bash_login ~/.profile ファイルを読込、パス(PATH)の設定を行うと思いますが、 sshでrootユーザでシステムにログインした際は、 「echo $PATH」の結果は以下でした。 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/sbin su -で再度rootユーザでログインした際、もしくは、他ユーザからsu -でログインすると 「echo $PATH」の結果は以下でした。 /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin:/sbin ログインの仕方でパス(PATH)に違いがあります。 また、「/usr/local/bin」をパス(PATH)として設定している記述が 上記ファイルに見当たりません。 http://sakaguch.com/PastBBS/0038/B0018808.html http://oshiete1.goo.ne.jp/kotaeru.php3?q=800405 等のサイトを参考に、以下ディレクトリ配下を確認しましても /etc/profile.d /etc/rc.d/init.d /etc/rc.d/rc3.d 「/usr/local/bin」をパス(PATH)として設定している記述が 見当たりません。 ログインの仕方でパス(PATH)に何故違いがあるのか、 また「/usr/local/bin」をパス(PATH)として設定している記述がある ファイルをご存知の方ご教授頂きたく思います。 宜しくお願いします。

  • 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

  • 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

  • PostgreSQLをCentOS5にインストールしました。

    閲覧有難うございます。 質問内容なのですが、Postgresqlをインストールしたのですがpostgresql.confとpg_hba.confが見つかりません。 OSはCentOS5です。 インストール方法は以下の手順で行いました。 # /usr/sbin/adduser postgres # chown postgres:postgres /usr/local/pgsql # mkdir /usr/local/src/postgres-8.2.6 # chown postgres:postgres /usr/local/src/postgresql-8.3.7 # su - postgres # cd /usr/local/src # tar xfz /usr/local/src/postgres-8.2.6.tar.gz # cd /usr/local/src/postgres-8.2.6 # ./configure # make # make install また、 [root@ ~]# su - postgres -bash:  LD_LIBRARY_PATH=/usr/local/pgsql/lib: そのようなファイルやディレクトリはありません -bash:  export: command not found -bash:  PATH=/usr/local/pgsql/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin: そのようなファイルやディレクトリはありません -bash:  export: command not found -bash:  MANPATH=/usr/local/pgsql/man:: そのようなファイルやディレクトリはありません -bash:  export: command not found -bash:  export: command not found -bash:  PATH=/usr/local/pgsql/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin: そのようなファイルやディレクトリはありません -bash:  export: command not found -bash:  MANPATH=/usr/local/pgsql/man:: そのようなファイルやディレクトリはありません -bash:  export: command not found [postgres@ ~]$ のようなエラーがはかれるようになりました。 どうか皆様のお力をお貸しください。

  • Snortの自動起動について

    Snortを自動起動したいと思ってるのですが、エラーを吐いてしまいます centos5.8でsnortは2.9.2.2です インストール先は/usr/local/snortで/usr/loca/snort/bin/snort -vで起動しようとすると /usr/local/snort/bin/snort: erorr while loading shared libraries: libdnet.1: can not open shared object file: No such file or directory のエラーがでてしまいます /usr/local/libにlibdnet.1のファイルは存在して、/etc/ld.so.confファイルに/usr/local/libを記述、/sbin/ldconifgを実行して、再起動したのですが、同じエラーがでてしまいます export LD_LIBRARY_PATH=/usr/local/libを実行するとエラーはでなくなるのですが、ACIDを導入したいので、自動起動できるようにしたいです どなたかアドバイスおねがいします

  • Java 2 SDK, Standard Edition のインストール

    こんばんは。 Java 2 SDK, Standard Edition のインストールで困っています。 OSはredhat7jです。 Xwindowは入っていません。 sunのところから、「j2sdk-1_3_0_02-linux.bin」をダウンロードしてきて、 redhatにrootで入り、/usr/localに「j2sdk-1_3_0_02-linux.bin」をコピーしました。 そして、「./j2sdk-1_3_0_02-linux.bin」と入力して実行しました。 メッセージが表示されて、最後に「yes」と入力して、インストールは 成功したのですが、インストールが成功したか確認のために、 「/usr/local/jdk1.3.0_02/bin/java -version」と入力し実行したらエラーが表示されてしまいます。 インストール先は「/usr/local/jdk1.3.0_02/」です。 パスも「PATH=$PATH:/usr/local/jdk1.3.0_02/bin」と通してあります。 エラーの内容は、 /usr/local/jdk1.3.0_02/bin/i386/native_threads/java: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory と表示されています。 どうかよろしくお願いします。