コンパイルされたコードを実行するときは./を使用してください。

コンパイルされたコードを実行するときは./を使用してください。

私たちが使う理由./Linuxでコンパイルされたコードを実行する前に?コンパイルされたコードよりも親ディレクトリにある場合は不要です。たとえば、説明します。私のコードがある場合/ホーム/名前/コード、そして私も同じディレクトリにあったので、次のものを使用しなければなりませんでした。./a.出力。しかし、私がそうであれば/家/名前/それから私は使えます。./コード/a.out。ここで私は使う./しかし、私の考えでは、コードを実行する必要があることを示すよりも、ディレクトリを探索する方が重要だと思います。では、なぜ使用すべきですか?./コードと同じディレクトリにある場合は、コンパイルされたコードを実行しますか?

ベストアンサー1

コマンドを実行すると、シェルはフルパスを指定せずにコマンドを呼び出すことができるようにするトリックを使用します。シェルは環境変数にリストされている各ディレクトリでコマンドを検索し$PATH、見つかった場合はコマンドの実行をスケジュールします。

ディレクトリの1つにないコマンドを実行するには、$PATHシェルにファイルを見つけるためのヒントを提供する必要があります。あなたの例では行って/home/uname/codeいないので、$PATH実行したいファイルを見つけるのに十分なパス情報をシェルに提供する必要があります。これは、現在の作業ディレクトリがファイルのあるディレクトリであるか他のディレクトリであるかにかかわらず同じです。実行したいファイルと同じディレクトリにある場合は、./ファイル名の前にあるものだけでシェルにファイルが見つかる場所を知らせるのに十分です。

おすすめ記事