
以下の単純なシェルスクリプトを実行しようとしています。
-------------------
#!/bin/sh
echo ok
-------------------
そのとき、
bad interpreter: そのようなファイルやディレクトリはありません
と出てしまいます。
・which sh で確認すると /bin/sh です。
・Windowsで作ったファイルをFTPのアスキーモードで転送しています。
(ものすごく単純なミスをしてるのかもしれませんが、)
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
1行目の「/bin/sh」のうしろにCRが入っていると、このような現象が発生します。
FTPの転送モードが間違いなくアスキーモードになっているか、
転送後のファイルにCRがついていないかなど、再度確認してみてください。
CR以外のコントロールコードや全角スペースなどがついていても似た現象が起こります。
その場合はエラーメッセージが多少異なるはずですが、併せて確認しておくと良いかと思います。
No.4
- 回答日時:
#2さんのCRに一票
改行コードが違う(1バイト多い)のだと思います
$ mv hoge.sh hoge.bk
$ tr -d '\r' < hoge.bk > hoge.sh
秀丸で改行コードをLFに変換し、
バイナリモードで転送するとうまくいきました。
CRがクセモノだったわけですね。
みなさん、ありがとうございました。
※素直にLinuxのエディタを勉強したほうがいいですね。。。
No.3
- 回答日時:
ぱっと思いつく原因は2つ 例えばfile名が test.sh だとして
1. Windowsと違ってカレントディレクトリは通常pathが通っていませんので
test.shの有るディレクトリから実行させる場合も
$ test.sh <=これだと駄目
$ ./test.sh <=これならOK
2.アスキーモードで転送したはずがうっかり間違えていた
この場合 1行目のshebang文は
#!/bin/sh\r\n となり /bin/sh[CR]を探しに行きますが当然有りませんので
エラーになります
これを確認するためにはコマンドラインで
$ od -c ./test.sh
と打つと
0000000 # ! / b i n / s h \n e c h o o
0000020 k \n
これならOKですが \r が入っていれば Windows用の改行コードのままです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Linuxについて質問です。 引数に指定されたアクセスログのファイルからアクセス数が多い順に上位3つ 1 2023/02/03 03:46
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- UNIX・Linux Linuxについて質問です。 シェルスクリプト名をfind.shとして、以下の条件をすべて満たすファ 1 2023/02/03 03:50
- UNIX・Linux Debianでシェルスクリプトにおいて正規表現の条件文で[[,]]が使えないので困ってます 2 2023/01/20 09:27
- その他(プログラミング・Web制作) シェルのSTEP数について教えてください。シェルスクリプトの先頭に、#!/bin/shとか書きますよ 3 2023/06/08 19:02
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- UNIX・Linux Linuxについて2つ質問したいです。 ① シェルスクリプト名をawk1.shとして、指定されたデー 1 2023/02/03 03:49
- UNIX・Linux Linuxのシェル関数を作成して要件を満たす方法 1 2022/11/19 20:33
- UNIX・Linux Linuxのメッセージを出力して処理を終了する方法 1 2022/11/19 20:31
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
このQ&Aを見た人はこんなQ&Aも見ています
-
ラズパイで『’test.service’をstatできません:そのようなファイルやディレクトリはあり
UNIX・Linux
-
Linuxコマンドについて
UNIX・Linux
-
シェルの「:コマンドが見つかりません」エラー
その他(プログラミング・Web制作)
-
-
4
シェルスクリプトでエラーが出ます
UNIX・Linux
-
5
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
-
6
classファイルについて
Java
-
7
make時に出てきたエラーメッセージの意味が分からなく困っています。
その他(コンピューター・テクノロジー)
-
8
データベース関係で、データの洗い替えとはどのような事を行うことでしょう
IT・エンジニアリング
-
9
UNIX コマンドにおける # や円マークの意味
UNIX・Linux
-
10
ZIP解凍時のinflatingとは?
その他(パソコン・スマホ・電化製品)
-
11
shシェルスクリプト 空白行の入れ方
その他(プログラミング・Web制作)
-
12
Linuxでシェルスクリプトがフルパスだと実行できない
UNIX・Linux
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
bashでシングルクォート内の変...
-
スクリプトのエラー「unexpecte...
-
Linuxでシェルスクリプトがフル...
-
シェルスクリプト初心者です、...
-
下記スクリプトの意味がわかり...
-
Linux 月を英語表示したい
-
Cシェルのかっこいいプロンプト...
-
ロケールをutf8からsjisにする...
-
cronでとても困っています ど...
-
シェルスクリプト実行で”そのよ...
-
cronでの処理が途中で中断終了...
-
cron設定で正常に動作しない
-
Bシェルで文字列が日付として正...
-
/binディレクトリを見たい
-
cronでシェルスクリプト実行時...
-
linuxで自動的にコマンドを順次...
-
大手町駅。それはホームから非...
-
TOPコマンドで表示するCPU使用...
-
Dirコマンドでフォルダ内ファイ...
-
シェルスクリプトでエラーが出ます
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スクリプトのエラー「unexpecte...
-
bashでシングルクォート内の変...
-
シェルスクリプト実行で”そのよ...
-
Linux 月を英語表示したい
-
crontabでjavaだけが上手く動い...
-
Linuxでシェルスクリプトがフル...
-
crontabでsql/plusの起動
-
Cシェルのかっこいいプロンプト...
-
UNIXのbashエラーでnot a valid
-
Linuxで自作バッチファイルの置...
-
cron設定で正常に動作しない
-
sudoでシェルスクリプトを実行...
-
ロケールをutf8からsjisにする...
-
CygwinでX Windiws Systemが起...
-
cronの@rebootでのdateコマンド...
-
hp-uxで時間(時計)を合...
-
自動パスワード入力でscpするス...
-
apachectl start command not f...
-
cronでシェルスクリプト実行時...
-
ldapaddコマンドでエラー
おすすめ情報