mainfolder
execution
スクリプトを含むサブディレクトリがあるディレクトリがありますconfigure
。そのexecution
ディレクトリに切り替えて実行すると./configure
正常に動作します。今configure
、私はそこにいるときにこれを行う方法を理解しようとしていますmainfolder
。
./configure /execution
そして:
./configure execution
しかし、それらのどれも動作しません。また、ルートのフルパスを使用するか、次のようにユーザーディレクトリから始めて同じことを試しました。
./configure /home/etc/user/mainfolder/execution
./configure user/mainfolder/execution
私はいつも次のメッセージを受け取ります。
bash: ./configure: そのファイルやディレクトリはありません。
最後に、以下を試しました。
/home/etc/user/mainfolder/execution/configure
. /home/etc/user/mainfolder/execution/configure
どちらも私にエラーを与えます。
sed: makefile.in を読み込めませんでした: そのファイルまたはディレクトリがありません
どうすればいいですか?
答え1
まず、構成スクリプトがあると思われる場所に存在することを確認します。 2番目に実行可能であることを確認してください。
$ ls -l ./configure
-rwxrwxr-x 1 saml saml 100 Jun 9 05:11 ./configure
両方のチェックが正常な場合は、まずconfigure
ディレクトリを次に変更して/mainfolder/execution
から、次を実行して実行してみることができますconfigure
。
$ cd /mainfolder/execution
$ ../configure
次のアプローチを試すこともできます。
$ cd /mainfolder
$ ./configure execution
編集#1
OPが残した説明によると、次のディレクトリ構造は彼が説明するように見えます。
$ tree -f
.
`-- /mainfolder
`-- /mainfolder/execution
`-- /mainfolder/execution/configure
答え2
* nixでは、/
これは常にファイルシステム全体のルートディレクトリであり、.
常に現在の作業ディレクトリを表します。
で始まるすべてのパス/
は絶対パスです。で始まるすべてのパス.
は相対パスです。
そのため、/home/...
ディレクトリがルートディレクトリにある場合は正しいかもしれませんし、ルート/excecution
ディレクトリにあるので間違っているかもしれません。いいえルートディレクトリにありますが/home/...
。
つまり、現在の作業ディレクトリ()でファイルを実行しようとします./configure
。configure
.
このエラーは、単にNo such file or directory
指定されたファイルが現在の作業ディレクトリに存在しないことを示します。configure
これを使用して、pwd
現在の作業ディレクトリが何であるかを表示できます。そこにどのファイルがあるかを表示するために使用されますls
。cd
現在の作業ディレクトリを変更するために使用されます。
実質的な問題を解決するのに役立ちます。何をしたいのか教えてください。なぜ走りたいですかconfigure
?何をすべきですか?実行ディレクトリを指定する必要があるのはなぜですか?
答え3
問題は、ファイルを実行する必要がありますが、現在のディレクトリを変更しないでください。だから私はこれを試してみました:
cd execution/ && ./configure