
CygwinでNo such file or directory!?
Cygwin上zshシェルスクリプト実行時に「#!/usr/bin/zsh: No such file or directory」と表示される現象の解決方法を探しています。
kamuycikapです。
Windows7にCygwinをインストール、zshを動作させる設定を行いました。
こんなスクリプトを作成し、実行したところ....
-- ここから
#!/usr/bin/zsh
USB_DIR="/cygdrive/g"
TARGET_DIR="/cygdrive/g/busi"
echo "USBマウントポジション Gドライブを確認します。"
if [ -d $USB_DIR ]
then
echo "USBメモリのBUSIフォルダを確認します。"
if [ -d $TARGET_DIR ]
then
echo "busiフォルダ以下をD:\workに上書きコピーします。"
if cp -far /cygdrive/g/busi /cygdrive/d/work/
then
echo "上書きコピー終了です。"
else
echo "上書きコピーに失敗しました。"
fi
else
echo "USBメモリのBUSIフォルダを確認できませんでした。"
fi
else
echo "USBマウントポジション Gドライブを確認できませんでした。"
fi
--ここまで
こんな結果になってしまいます。
--ここから
/home/Admin/bin/busicpy_usb: line 1: ?#!/usr/bin/zsh: No such file or directory
USBマウントポジション Gドライブを確認します。
USBメモリのBUSIフォルダを確認します。
busiフォルダ以下をD:\workに上書きコピーします。
上書きコピー終了です。
--ここまで
cygwinプロンプト上にて「which zsh」を実行すると
HITACHI-PC% which zsh /home/Admin/program/zsh
/usr/bin/zsh
と返事が返ってきます。
これどういうことでしょうか??
スクリプトは動作している様子ですが、いまいち気持ち悪いです。
識者の方、ご教示願います。
<PS>
Windows7の環境変数「path」には、cygwinをインストールしたフォルダのbinディレクトリパスを追加しております。
私の場合D:\cygwinにインストールしたのでd:\cygwin\binを追加しています。
No.3ベストアンサー
- 回答日時:
ダンプ結果ではっきりしました。
ご協力、ありがとうございます> 357 273 277
これらは8進数なので、16進数に変換すると
0xef 0xbb 0xbf
になり、UTF-8でのBOMになります。
エディタ等では、BOMを使って文字コードの判定/画面には非表示、と動作しますが、シェルではそのような事はしないで、ファイルの先頭から実行しようとします。(シュルはBOM等ない昔からあるものですから)
そのため、BOMを命令として実行しようとしたたため「No such file or directory」となったものです。
「?」はBOMを文字としてを表示しようとして文字化け(?)した結果です。
普通はみつからなかったら
> /home/Admin/bin/busicpy_usb: line 1: /usr/bin/zsh: No such file or directory
という感じに line X: の後にすぐコマンドがきます。
対処方法として
・BOMを削除する→下記URL等を参考に
・保存時の設定を変更するか、エディタそのものを別の物を使うかして、BOMが付かないようにする
があります。
参考URL:http://ja.wikipedia.org/wiki/UTF-8, http://www.sbirobo.com/2007/12/remove-bom-from-u …
回答ありがとうございました。
ものすごくすっきりしました。
私はxyzzyをエディタとして利用しており、ファイルをUTF-8として保存しておりました。
Linux側から持ってきたファイルがUTF-8(Emacs23で作成)でしたので、Windows側でも同じように保存していたのですが、BOMを付けずに保存するには「UTF-8N」で保存する必要があると理解しました。
シェルの方が歴史が古いので、結果としては当たり前ですね。
大変勉強になりました。
ありがとうございました。
参考にしたサイトは下記のとおりです。
http://www.esrij.com/support/arcexplorer/documen …
No.2
- 回答日時:
> /home/Admin/bin/busicpy_usb: line 1: ?#!/usr/bin/zsh: No such file or directory
この、#!の前にある「?」が気になります。
もしかして、BOM付きで保存されている、とかいうことはないでしょうか?
od -c そのスクリプト
としてバイナリダンプをとって、1byte目が # になっているか、それともなにか違う文字になっているか、確認してみてください。
参考URL:http://e-words.jp/w/BOM.html
回答ありがとうございます。
ダンプしてみたところこんな感じです。
ファイルは「UTF-8」で、改行は「LF」としております。
最初の357 273 277が怪しいのでしょうか??
いまいち意味が分かってないのですが。。。。なにか気づくことをご教示願います。
HITACHI-PC% od -c ./busicpy_usb.sh /home/Admin/program/zsh
0000000 357 273 277 # ! / u s r / b i n / z s
0000020 h \n \n U S B _ D I R = " / c y g
0000040 d r i v e / g " \n T A R G E T _
0000060 D I R = " / c y g d r i v e / g
0000100 / b u s i " \n \n e c h o " U S
0000120 B 343 203 236 343 202 246 343 203 263 343 203 210 343 203 235
0000140 343 202 270 343 202 267 343 203 247 343 203 263 343 200 200 G
0000160 343 203 211 343 203 251 343 202 244 343 203 226 343 202 222 347
0000200 242 272 350 252 215 343 201 227 343 201 276 343 201 231 343 200
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) zshの例外処理 1 2022/06/02 16:36
- その他(プログラミング・Web制作) ログインシェル時のSHELL環境変数 1 2022/06/08 19:21
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- UNIX・Linux AWSのEC2のZabbixユーザーでawscliコマンドが実行できない状態を解決する 1 2022/12/06 22:17
- UNIX・Linux デフォルト値のパラメータ展開 1 2022/08/12 17:34
- Mac OS PATHを使ってcdなどで簡単に移動できるようになりたい 3 2023/05/13 14:22
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- その他(プログラミング・Web制作) Pythonを勉強しています。 5 2023/08/25 09:51
- UNIX・Linux Linuxの実行結果を修正したいです。 6 2022/11/22 12:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
相手側の携帯が電源切れてる時...
-
1コールだけ鳴るけど切れる電話...
-
毎月記念日をlineで祝うのって...
-
face book で女性の方からline ...
-
遠くにいる友達とLINE交換する...
-
風俗に行ったとして、そこで嬢...
-
いきなりラインのトークに「新...
-
「一番上、真ん中、下」を示す英語
-
酔っ払って送られてきたlineが...
-
よく05(04)lineって見かけるん...
-
LaTeXでÅ
-
2000年生まれなのですが 00line...
-
会社の先輩とLINE プライベート...
-
先輩のライン(男性)を追加した...
-
妊娠したらどうする?聞くのは...
-
ある男子から、ライン追加され...
-
相手が携帯を解約していたら、L...
-
友達が、私のlineのトークを拡...
-
無料版FC2ホームページのエラー...
-
次の英文がわかりません;
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1コールだけ鳴るけど切れる電話...
-
相手側の携帯が電源切れてる時...
-
face book で女性の方からline ...
-
ラインナップとラインアップは...
-
Windowsのバッチファイルで正規...
-
風俗に行ったとして、そこで嬢...
-
よく05(04)lineって見かけるん...
-
生産ラインの品質を表す直行率...
-
いきなりラインのトークに「新...
-
毎月記念日をlineで祝うのって...
-
「一番上、真ん中、下」を示す英語
-
遠くにいる友達とLINE交換する...
-
python flask から fastapiへの...
-
swift言語のprintln()関数で「p...
-
ある男子から、ライン追加され...
-
先輩のライン(男性)を追加した...
-
新しいクラスメイト全員のLINE...
-
会社の先輩とLINE プライベート...
-
法線(normal line)はなぜそう...
-
INIファイルからのデータ読込み...
おすすめ情報