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

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか?

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は?

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?
