#!/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
~
---------------------------------------
投稿日時 - 2007-01-20 00:42:55
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あたりで改行コードを変換するとかすれば質問にあるエラーはなくなると思いますよ。
投稿日時 - 2007-01-20 02:07:44
丁寧な解説ありがとうございます。
先ほど実験して、解決しました。
Linux知ってる人からすればあほみたいな質問だったのだと思うと少し恥ずかしいです。 もう少し勉強します。
投稿日時 - 2007-01-20 23:58:38
このQ&Aは役に立ちましたか?
3人が「このQ&Aが役に立った」と投票しています
回答(3)
error message を見て
^M が CR であることに気づかないことが
私は、悲しいです。
http://ja.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange
投稿日時 - 2007-01-20 05:46:39