egxc を次のようにコンパイルすると:
GCC x.c -o x
結果を実行するには次のように記述する必要があります:
./x
そして、次のように入力するだけです:
x
次のメッセージが表示されて失敗します:
x: コマンドが見つかりません
これは、Linux が現在のディレクトリを検索しないことを意味します。この動作の背後には、何か合理的な問題があるのでしょうか (あると確信しています)?
答え1
デフォルトでは、現在の作業ディレクトリは変数に含まれていないためですPATH
。
これはセキュリティ/利便性のための手段です。現在の作業ディレクトリにcd
、、ls
などと呼ばれるバイナリ/スクリプトがある場合、それらがデフォルトで実行されると非常に迷惑になります。
答え2
これは、現在のディレクトリが $PATH 変数に含まれていないことを意味します。
答え3
これを修正するには、現在のディレクトリ (単一のドットで表されます) をPATH
環境変数に追加します。
方法は、使用しているシェルによって異なります。bashを使用している場合は、ホーム ディレクトリのファイルに
行を追加します 。csh または tcsh を使用している場合は、ホーム ディレクトリの .cshrc ファイルに 行を追加します 。 私見では、家庭用のデスクトップ コンピューターの場合、セキュリティの観点から、これは許容できる方法です。export PATH=$PATH:.
.bashrc
set PATH = ($PATH .)