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コールだけ鳴るけど切れる電話...
-
face book で女性の方からline ...
-
よく05(04)lineって見かけるん...
-
名前を教えてしまったら何に悪...
-
LINE追加で「該当するユーザー...
-
ラインナップとラインアップは...
-
遠くにいる友達とLINE交換する...
-
あの噂の世界三大チェーンメー...
-
LINEについてです。いつも通り...
-
Windowsのバッチファイルで正規...
-
line でおはようございます、の...
-
ネットで個人の電話番号を調べ...
-
私がlineのアイコンを変更する...
-
教えてください
-
会社の先輩とLINE プライベート...
-
「一番上、真ん中、下」を示す英語
-
先輩のライン(男性)を追加した...
-
python flask から fastapiへの...
-
lineのブロック事情について質...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
相手側の携帯が電源切れてる時...
-
1コールだけ鳴るけど切れる電話...
-
LINE追加で「該当するユーザー...
-
よく05(04)lineって見かけるん...
-
face book で女性の方からline ...
-
いきなりラインのトークに「新...
-
Windowsのバッチファイルで正規...
-
ある男子から、ライン追加され...
-
ラインナップとラインアップは...
-
生産ラインの品質を表す直行率...
-
遠くにいる友達とLINE交換する...
-
先輩のライン(男性)を追加した...
-
「一番上、真ん中、下」を示す英語
-
LINEで好きな人が「笑」を全然つ...
-
法線(normal line)はなぜそう...
-
新しいクラスメイト全員のLINE...
-
着信拒否、ラインブロックと解...
-
swift言語のprintln()関数で「p...
-
既婚女性にラインを聞くことに...
-
質問です。 先日クラスの女子に...
おすすめ情報