$ PATH를 터미널에 입력 한 후 해당 파일이나 디렉토리가 없습니다. 쓸 때 : $PATH 이 출력은

내가 터미널에 쓸 때

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

내 질문은, 왜 “No such file or directory?”라고 쓰여졌 을까하는 것입니다. PATH 변수의 모든 디렉토리가 존재합니다.



답변

$PATH 당신이 알고 있다고 확신하는 변수입니다. 그 변수가 해석되면 입력하는 것과 같을 것입니다. :/home/bo/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin:/sbin:/bin: 일어날 일이있을 것을 기대합니다. 이유 echo $PATH 당신이 명시 적으로 터미널에 “do”라고 말하기보다는 그것을 디스플레이에 파이프하고 있기 때문입니다. $PATH.


답변

당신이 아직도 다른 답변에서 얻지 못하는 경우에, 그것은 이것과 같습니다 :

$ 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… 그렇지 않다.
그리고 분명히 명령이 아닌 단어로 시작하는 명령 행을 입력 할 때,
배시는 말한다 No such file or directory 단어에 하나 이상의 단어가 포함 된 경우 / 문자,
command not found 그렇지 않은 경우.


답변

타이핑하여

$ PATH

명령 행에서 내용을 확장하는 것 외에는 실제로 아무것도하지 않고있다.

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

이것은 합법적으로 당신이 얻고있는 메시지로 인도하는 유효한 명령이 아닙니다.

그게 뭘 기대 한거야? $PATH 할거야?


답변

리눅스에서 터미널은 터미널을 기다리고있다. command, $ PATH는 명령이 아니며 variable.

당신이 쓸 때 echo $PATH 당신은 변수의 내용과 명령을 요구하고 있습니다. echo 그것을 화면에 보여줍니다.


답변

변수 $PATH 콜론으로 구분 된 여러 디렉토리가 있습니다. 셸이 실행 파일이나 다른 명령 (예 : 쉘 내장 명령, 예 : cd )를 입력으로 사용합니다. 다음과 같은 명령 : lscat $ PATH 디렉토리 중 하나에있는 실행 파일 일뿐입니다. 콜론으로 묶인 여러 디렉토리는 일반적으로 적절한 UNIX 파일 경로를 형성하지 않습니다. 주의 : 콜론없이 하나의 디렉토리 만 입력하면 다른 출력을 얻습니다.