No such file or directoryのエラーが発生する理由と解決方法

このQ&Aのポイント
  • LinuxでHORBをインストールし、パスも通したが、bash: /usr/local/horb2.1/bin/horb : No such file or directoryというエラーが発生する。
  • horbファイルの中身は、#!/bin/sh java horb.orb.HORBServer $*となっている。
  • 直接、$ java horb.orb.HORBServerとすれば、HORBサーバーが起動する。しかし、$ horbと実行するとエラーが発生する。
回答を見る
  • ベストアンサー

なぜ、No such file or directory ?

LinuxにHORBをインストールし、パスも通しました。 HORBサーバーを起動するために $ horb と、すると bash: /usr/local/horb2.1/bin/horb : No such file or directory となって、実行できません。 horbファイルの中身は、 #!/bin/sh java horb.orb.HORBServer $* となっています。 直接、 $ java horb.orb.HORBServer とすれば、HORBサーバーが起動します。 horbファイルの権限が理由でもないと思います。 $ ls -l horb -rwxr-xr-x   1 myname   users となっています。 なぜ、 $ horb ができないのでしょうか。どうか、お教えください。

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

  • ベストアンサー
回答No.3

そのエラーの出方は#!行がちゃんと解釈されないパターンに 見えますね。 改行コードをまず確認してみてください。samba経由かなにかで、 Windows上のエディタで編集してたりしてませんか? $ vi horb とviエディタなどで開いてみるとどうでしょう?あるいは $ od -c horb | head #!/bin/shのうしろに^Mとか\r\nが来ていませんか?

bajiru8
質問者

お礼

ありがとうございます。HORB、動きました!! 改行コードに問題があったのですね。 EUC[改行=LF]でファイルを保存したら、うまくいきました。 原因がまさかそんなところにあるなんて、思ってもみませんでした。 ありがとうございました。

その他の回答 (2)

  • rally
  • ベストアンサー率28% (32/111)
回答No.2

harbの1行目をbashに変更してみてください。 #!/bin/bash java horb.orb.HORBServer $*

bajiru8
質問者

補足

回答、ありがとうございます。 #!/bin/bash に変えてやってみましたが、結果は同じでした。 下でkanataさんが教えてくれたように、ファイル名を変えてみたりも したのですが、うまくいきません。

noname#9414
noname#9414
回答No.1

そうですね、もしかしたらhorbというファイル名が 矛盾を起こしているのではないでしょうか? 可能ならば、スクリプトファイルの名前を何か別の ものにしてみてはどうでしょうか? ではでは☆

bajiru8
質問者

補足

回答、ありがとうございます。 さっそく、horbstart等でやってみました。 が、結果は同じでした・・・ bash: /usr/local/horb2.1/bin/horbstart : No such file or directory

関連するQ&A

  • No such ・・・となるのは何故ですか?

    redhad.linux7.1のスーパーユーザーで「cd /usr/src/linux」を入れると 「bash: cd: /usr/src/linux: No such file or directory」とでます。その他書籍等を見てその通りに入力すると、このような結果によくなるのですが何が原因なのでしょうか?及びどのようにすれば対処できるのか?宜しくご教授お願い致します。

  • CygwinでNo such file or directory!?

    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を追加しています。

  • CygwinでNo such file

    C言語をコンパイルしたくてCygwinをダウンロードしたのですが、ドキュメントにCgengoというファイルを作ってその中にコンパイルしたいメモ帳を入れて、 $cd $cd Cgengo と入力したところ、 -bash: cd: Cgengo: No such file or directory と出て移動できませんでした。ちなみに$cdのあとに$lsを入力しても何も出てきませんでした。 どういった原因が考えられるでしょうか。どなたか教えてください。お願いします。

  • cygwinでno such file or directory

    初めて質問します。 cygwinをinstallしました。 cd/usr/localと打つとno such file or directoryと出てきてしまいます。windowsの登録やアカウントは英語でスペースとかは使っていません。 install自体はうまくいっているとおもうのですが、おわかりになる方がおられましたら、アドバイスお願いします。 Win XPで、メモリその他は十分あります。

  • CentOSでアップデート中に再起動してエラー発生

    現在CentOS5を使用しているのですがアップデート途中に再起動をしてしまった為、起動中にエラーが発生して止まってしまいます。 復旧方法があれば教えて頂きたいのですが・・・エラーの内容は bash: dircolors: command not found bash: /usr/bin/id: No such file or directory bash: [: =: unary operator expected bash: /usr/bin/id: No such file or directory bash: [: =: unary operator expected bash: /usr/bin/pkg-config: No such file or directory と表示されます、宜しく御願いします。

  • ffftpで・・・550 -alL: No such file or directory.

    FFFTPで、Webサーバー内にあるファイルをDLしようと思ってファイルをあけようとしたところ・・・ 550 -alL: No such file or directory. と出てしまいました。 fetchでアクセスしたら、中にはデータがあります。 どうして、FFFTPで、上記のような状況になってしまうのでしょうか? 考えられることを教えてください。 よろしくお願い致します。

  • Linux上でファイル・ディレクトリのパーミッションを強制的に変える

    Linux上でファイル・ディレクトリのパーミッションを強制的に変える Linuxでファイルサーバを立てています. まず,やりたいことは3つあります. 1.特定のユーザに対してファイルのパーミッションを変えるコマンド(chmod)を使用不可能にしたいのですがどうしたらよいのでしょうか? 2.ファイル(ディレクトリ)のパーミッションを強制的にrwxr_xr_xにしたいのですが,可能でしょうか?つまり,指定したパーミッション以外のファイル(ディレクトリ)をコピーしたといしても,そのファイルのパーミッションはrwxr_xr_xに強制的に変わるということです. 3.特定のユーザでディレクトリの移動を/homeより上の階層に動かしたくないのですがどうしたらよいのでしょうか?つまり自分と他のユーザのディレクトリは見に行けるがルート以下のシステム関連には移動してほしくないということです. よろしくおねがいします.

  • ホームというディレクトリに移るとき

    ホームというディレクトリに移るとき、どうしても移れません。 どなたかどんなパスを書くのか教えてください。 ご多忙中申し訳ありません。 ご回答のほど宜しくお願い申し上げます。 root@GD348ZZD9:~# cd ホーム/eclipse/java-neon -bash: cd: ホーム/eclipse/java-neon: そのようなファイルやディレクトリはありません root@GD348ZZD9:~# cd /ホーム/eclipse/java-neon -bash: cd: /ホーム/eclipse/java-neon: そのようなファイルやディレクトリはありません root@GD348ZZD9:~# cd /eclipse/java-neon -bash: cd: /eclipse/java-neon: そのようなファイルやディレクトリはありません root@GD348ZZD9:~# cd ./ホーム/eclipse/java-neon -bash: cd: ./ホーム/eclipse/java-neon: そのようなファイルやディレクトリはありません root@GD348ZZD9:~# cd ./eclipse/java-neon -bash: cd: ./eclipse/java-neon: そのようなファイルやディレクトリはありません root@GD348ZZD9:~# cd ./ホーム/ -bash: cd: ./ホーム/: そのようなファイルやディレクトリはありません root@GD348ZZD9:~# cd ./ホーム -bash: cd: ./ホーム: そのようなファイルやディレクトリはありません root@GD348ZZD9:~# cd ../ホーム -bash: cd: ../ホーム: そのようなファイルやディレクトリはありません root@GD348ZZD9:~# cd ..ホーム -bash: cd: ..ホーム: そのようなファイルやディレクトリはありません

  • bad interpreter:エラーについて

    -bash: ./test.pl: usr/bin/perl: bad interpreter: というエラーについてです。 掲題のエラーが出てしまい、perlが動かないので困っています。 どうすればいいのか教えてもらえませんでしょうか。 【状況】 VMwareplayer3.1.2上で、CentOS5.5を動かし、デフォルトで入っているperlを使ったファイル「test.pl」を作っています。 test.plを実行しようとしているのですが、以下のエラーメッセージが表示されます。 -bash: ./test.pl: usr/bin/perl: bad interpreter: そのようなファイルやディレクトリはありません 実行した際のコマンドは./test.plです。 test.plの中身は以下。 ------------------------------------------------------ #!/usr/bin/perl use strict; use warnings; my $name = "morifuji"; print "Hello ". $name . "\n"; ------------------------------------------------------ 【確認済み事項】  test.plの置き場所は/usr/bin/perlです。  ls -lで権限をみたところ、rwxr-xr-x furukawa root 4096となっている。  perl test.plと命令するとエラーは返らずちゃんと表示されます。  (perlを省いて、test.plと命令するとエラーになる。これだと、webから表示されたときに動きません)  FTPとかで転送すると文字コードの問題でバグが出る、という風な記事を見かけたが、VMwarePlayerなのでそういったやりかたはしていない。  which perlと命令してperlの場所を探したが、 /usr/bin/ にある。

  • rubyのファイルを実行できません。

     Debian(Woody)の環境です。 #find ./ -name ruby ./usr/bin/ruby ./usr/share/doc/ruby ./usr/doc/ruby ./usr/lib/ruby があり、/usr/binにrubyのファイルが確認できます。 $ruby -v ruby 1.6.7 (2002-03-19) [i386-linux] が出ます。pathが通っています。 $ ruby -e 'print "hello World\n"' で hello World もちゃんどでます。 しかし、vi hello.rbで、中には ------------------- #!/usr/bin/ruby print "Hello World!\n" --------------------- と、実行権-rwxr-xr-xにします。 %hello.rb では: bash: hello.rb: command not found が出て,実行できませんでした。 ファイルの中に、#!/usr/lib/rubyに代えてもおなじでした。  因みに %env で ... PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11 ... がでます。  アドバイスをよろしくお願いします。

    • 締切済み
    • CGI