dポイントプレゼントキャンペーン実施中!

お世話になります。 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

---------------------------------------

A 回答 (3件)

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あたりで改行コードを変換するとかすれば質問にあるエラーはなくなると思いますよ。
    • good
    • 0
この回答へのお礼

丁寧な解説ありがとうございます。
先ほど実験して、解決しました。

Linux知ってる人からすればあほみたいな質問だったのだと思うと少し恥ずかしいです。 もう少し勉強します。

お礼日時:2007/01/20 23:58

error message を見て


^M が CR であることに気づかないことが
私は、悲しいです。

http://ja.wikipedia.org/wiki/American_Standard_C …
    • good
    • 0

そのスクリプトはどのように作成したのでしょうか?



Windowsのエディタで書いて、FTPのバイナリモードで転送した。
とかいうことはありませんか?

この回答への補足

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

補足日時:2007/01/20 01:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!