端末に$ PATHを入力した後、そのようなファイルまたはディレクトリはありません


13

端末に書き込むとき

echo $PATH

私の出力は

:/home/bo/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin:/sbin:/bin

しかし、私がちょうど書くとき:

$PATH

この出力私は正しく理解していません、出力は次のとおりです:

bash: :/home/bo/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin:/sbin:/bin: No such file or directory

そして私の質問は、なぜ「そのようなファイルまたはディレクトリはありません」と書かれたのですか?PATH変数からのすべてのディレクトリが存在します。

回答:


20

$PATH変数です。きっとご存知でしょう。その変数が解決されると、入力し:/home/bo/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin:/sbin:/bin:て何かが起こることを期待するのと同じことになります。機能する理由echo $PATHは、ターミナルに「行う」ように指示するのではなく、明示的にパイプでディスプレイに出力するためです$PATH


2

それでも他の回答からそれを得られない場合、それはこれと同じです:

$ echo the quick brown fox
the quick brown fox
$ the quick brown fox
bash: the: command not found

$ echo and/or the black and white cats
and/or the black and white cats
$ and/or the black and white cats
bash: and/or: No such file or directory

すべてのコマンドラインの最初の単語がなければならないコマンド。  echoそのようなコマンドです。  the、、and/orおよびで:/home/bo/bin:/usr/local/bin:/usr/sbin…はありません。そして、明らかに、コマンドではない単語で始まるコマンドラインを入力すると、bashはNo such file or directory単語に1つ以上の/文字が含まれているかどうかを示しますcommand not found


1

入力する

$ PATH

実際には、コマンドラインでコンテンツを展開する以外に何もしていません。

:/ home / bo / bin:/ usr / local / bin:/ usr / sbin:/ usr / local / sbin:/ usr / bin:/ sbin:/ bin

これは有効なコマンドではなく、合法的にメッセージが表示されます。

タイピングだけで何ができる$PATHと思いましたか?


$PATH変数を実行しようとせずに、本質的に画面に出力するはずだと思いますが、そうではありません。
iDrwish

0

Linuxでは、端末はを待機していますcommand。$ PATHはコマンドではなく、ですvariable

書き込むときecho $PATHは、変数の内容を尋ね、コマンドechoを画面に表示します。


0

変数に$PATHは、コロンで区切られた複数のディレクトリが含まれます。シェルはcd、入力として実行可能ファイルまたは他のコマンド(たとえば、シェル組み込みコマンド)を期待しています。lsおよびなどのコマンドcatは、$ PATHディレクトリの1つにある実行可能ファイルです。コロンで連結された複数のディレクトリは、通常、適切なUNIXファイルパスを形成しません。注意:コロンなしでディレクトリの1つだけを入力すると、別の出力が表示されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.