コマンド ラインを使用してプログラムを実行すると、プログラム名の前に 2 つの文字「./」が自動的に挿入されることに気づくかもしれません。これは、Unix および Linux システムでは、「./」が現在のディレクトリを表すためです。コマンドを入力してプログラムを実行すると、システムはまず現在のディレクトリでプログラムの実行可能ファイルを検索します。 「./」を追加しない場合、システムは、環境変数 PATH で指定されたパスにあるシステムまたはプログラムに付属のコマンドを実行するとみなします。したがって、現在のディレクトリ内のプログラムが確実に実行されるようにするには、プログラム名の前に「./」を追加する必要があります。これは、コマンド ラインのセキュリティと一貫性を確保するシステムのデフォルトの動作です。
たとえば、
リーリーコマンドを入力するときに、inigo
を ./inigo
に自動的に変換しないのはなぜですか?
必要なもの
リーリー.
は パス
に含まれておらず、含めるべきではないためです。 .
は現在のディレクトリを参照するだけです。
質問タグが示すように、bash
を使用していると仮定すると、この代替手段
は、inigo
への他の相対パスまたは絶対パスと同様に機能します。
を path
に追加することもできます。これには、上記のいずれかを入力する必要がなく、 を追加する必要がないという利点があります。
セキュリティリスク。
を含むディレクトリにいると仮定すると、
リーリー
次に、「
以上がプログラムを実行するコマンドを入力すると、プログラム名の前に ./ が自動的に挿入されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。