- ベストアンサー
シェルスクリプトでネットにつながるか確認してバックアップをするプログラムを作成したがエラーが出る
- Windows XP Home Edition環境でcygwinを利用して、シェルスクリプトを作成しました。そのシェルスクリプトは、ネットワークに接続されているかどうかを確認し、接続されていればバックアップを行います。
- しかし、プログラムを実行するとエラーが発生します。具体的には、行17のfiの行で文法エラーが発生するとのことです。
- どこが間違っているのか、解決策や似たようなプログラムについてのアドバイスをお待ちしています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
行末の改行コードがまずい。 bash-3.2$ cat /dev/clipboard > fuga.sh bash-3.2$ od -t x1 fuga.sh 0000000 23 21 2f 75 73 72 2f 62 69 6e 2f 73 68 0d 0a 69 0000020 66 20 70 69 6e 67 20 77 77 77 2e 79 61 68 6f 6f 0000040 2e 63 6f 2e 6a 70 20 36 34 20 32 3b 20 74 68 65 0000060 6e 0d 0a 65 63 68 6f 20 22 4f 4b 22 0d 0a 65 78 0000100 69 74 0d 0a 65 6c 73 65 0d 0a 65 63 68 6f 20 22 0000120 4e 47 22 0d 0a 65 78 69 74 0d 0a 66 69 0d 0a 0000137 bash-3.2$ ./fuga.sh ./fuga.sh: line 9: syntax error: unexpected end of file bash-3.2$ dos2unix fuga.sh fuga.sh: done. bash-3.2$ od -t x1 fuga.sh 0000000 23 21 2f 75 73 72 2f 62 69 6e 2f 73 68 0a 69 66 0000020 20 70 69 6e 67 20 77 77 77 2e 79 61 68 6f 6f 2e 0000040 63 6f 2e 6a 70 20 36 34 20 32 3b 20 74 68 65 6e 0000060 0a 65 63 68 6f 20 22 4f 4b 22 0a 65 78 69 74 0a 0000100 65 6c 73 65 0a 65 63 68 6f 20 22 4e 47 22 0a 65 0000120 78 69 74 0a 66 69 0a 0000127 bash-3.2$ ./fuga.sh パラメータ 64 は無効です。 NG エディタで編集しているのなら、設定で改行をLFオンリーに なるようにしてください。
お礼
メモ帳でつくってみましたがterapadをつかって改行コードをLFにしたら解決できました。 ありがとうございました。