MIRACLE

メールサービス申込 ユーザー登録&ログイン パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

テクノロジー情報

カテゴリ:その他
2003/10/20
作成したスクリプトが Command Not Found で動作しない
Standard Edition V2.1 対応 Standard Edition V1.x 対応

[質問]

作成したスクリプトが Command Not Found で動作しません

[対象となる製品のバージョン]

MIRACLE LINUX 全般

[対象となるパッケージ]

bash
perl
等のスクリプト言語

[回答]

スクリプトを Windows 等の環境で作成した場合、そのスクリプトをそのまま Linux システムで動作させようとしても動作しません。
これは、Linux では改行コードが CR(0x0A) のみとなっているのに対し、DOS や Windows での改行コードが、LF(0x0D), CR(0x0A) から成っているためです。
そのような環境で作成したスクリプトを、Linux システムで動作させるためには、この余分なコードを削除してやる必要があります。

以下はサンプルスクリプト(sample.sh)から余分なコードを削除する方法です。

$ nkf -d < sample.sh > sample.sh.tmp
$ chmod +x sample.sh.tmp
$ ./sample.sh.tmp

sample.sh.tmp が正常に実行できることを確認できたら、

$ mv sample.sh.tmp sample.sh

これにより余分な LF コードを削除することができます。

また、テンポラリファイルを生成しない方法として、以下のコマンドを実行することでも LF を削除することが可能です。

$ perl -pi -e 's/\015$//' sample.sh

[更新履歴]

2003/10/20 新規作成


会社情報 採用情報 個人情報保護方針 情報セキュリティ基本方針 商標等取り扱い事項 English
Copyright(c)2000-2013 MIRACLE LINUX CORPORATION. All Rights Reserved.