• ベストアンサー

msys(cygwin)で、シェルスクリプトのcdが動かないのは何故?

msys(又はcygwin)で、シェルスクリプトに書いたcdが働きません。その解決方法を伺っても宜しいでしょうか?具体的には、下のような状況です。 [シェルスクリプト内容] #!/bin/bash echo cd前 cd testdir # ↑testdirは既存。コマンドラインから手打ちすると機能する! echo cd後 [実行結果の表示] cd前 : No such file or directory cd後 [環境] ・WinXP + 最新全パッチ適用 ・msysとcygwinをインストール 以上 どうか宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Yeti21
  • ベストアンサー率47% (396/830)
回答No.1

cygwinで確認しましたが、問題無くディレクトリ移動しました。 働かないとは何で確認されているのでしょうか? 下記で確認してみてください。 #!/bin/bash echo `pwd` cd testdir echo `pwd` もしかすると勘違いされているかもしれませんので確認しておきますが、 シェル内でcdしてもシェル内で完結の話で、シェルの実行が終わった後、 そのディレクトリに移動している訳ではありませんので誤解の無いように してくださいね。

noname#32535
質問者

お礼

回答、有難うございました。 原因は、シェルスクリプト内の改行コードがCR+LFだった事でした。 LFにしたら動きました。 >働かないとは何で確認されているのでしょうか? 「: No such file or directory と 表示されている事」で、です。 >シェルの実行が終わった後、そのディレクトリに移動している訳ではありません MS-DOSのbatファイルとは違うのですね。有難うございます。

その他の回答 (1)

  • Yeti21
  • ベストアンサー率47% (396/830)
回答No.2

すみません、質問の中の結果を見落としていました。 >: No such file or directory testdirは存在しているのですよね? 先に書いたサンプルでpwdを確認して、そこにtestdirがあるのか再度確認してみてください。

関連するQ&A