bashのPATH変数について

1281 ワード

rootにログインした後に環境変数PATHを修正して、1つのパス/rootを追加して、正しい指令は以下の通りです
PATH="$PATH":/root

(このコマンドはbashによって解釈され実行され、変更された変数もbashにのみ記録され、再ログインすると変更が保存されていないことがわかります)
誤ってコマンドをノックし、二重引用符を一重引用符にした結果、PATHは
$PATH:/root

すなわち、一重引用符内は文字列で処理され、二重引用符内は変数名で処理される.結果mv命令は直接呼び出すことができず、絶対パスを使用する必要があります.
/bin/mv

echoはまた使用でき、echoがbashのbuiltinであることを示しています.(type-a echoでは、echoはbashのbuiltinであり、/bin/echoという実行可能ファイルも存在することが観察される)(typeコマンドは、あるコマンドがbuiltin、alias、または個別のプログラムであるかを表示することができる)
ユーザーコマンドの基本フォーマットは
command [-options] parameter

bash処理commandとparameterには違いがあります.
commandには2つの可能性があります.1つはbashのbuiltin、例えばechoであり、bashによって操作が実行される.二つ目は、commandにスラッシュ文字が含まれている場合、commandにはこの実行可能ファイルのパス+ファイル名が含まれており、bashはcommandが与えたパス+ファイル名に基づいて実行可能ファイルを検索して実行し、commandにスラッシュ文字が含まれていない場合、commandはこの実行可能ファイルのファイル名にすぎず、bashはPATHに含まれる各パスを順次試み、最初に検索した同じ名前の実行可能ファイルを実行します.
parameterがファイルを表す場合、parameterがスラッシュで始まると、parameterがファイルの絶対ディレクトリとファイル名を与えることを示し、parameterがスラッシュで始まるとbashは現在のディレクトリから始まるのがデフォルトです.
PATHはbashというプロセスで維持されている変数であり,ユーザ登録時にそのユーザのbashプロファイルから読み出され,一時的に変更されてもよいが,自動的に書き戻されて保存されることはない.ユーザーのbashプロファイルを変更することで、永続的な変更を実現できます.
cdはbashが命令を持っていて、実行できないファイルで、whichでは見つかりません.