$PATH 자체 및 $PATH 에코

$PATH 자체 및 $PATH 에코

다음과 같이 입력하면 $PATH출력이 시작되어 -bash:끝에 then 값이 인쇄되는 반면, 출력에서는 해당 출력이 생성되지 않습니다. 배쉬가 관련되어 있나요?$PATH: No such directoryecho $PATH
readline

[user1@Server1 ~]$ $PATH
-bash: /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/user1/.local/bin:/home/user1/bin: No such file or directory

방금 실행하면 echo $PATH출력은 다음과 같습니다.

/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/user1/.local/bin:/home/user1/bin

답변1

간단한 명령줄의 첫 번째 단어는 command - action입니다. (더 복잡한 변형이 있지만 현재로서는 이것만으로도 충분한 사실로 간주됩니다.)

첫 번째 예에서 "command"는 변수의 값이고 $PATH실제로는 명령이 아니므로 bash실행할 명령을 찾을 수 없다고 불평합니다. (셸은 $PATH입력한 명령에 대한 변수에 지정된 콜론으로 구분된 디렉터리 목록을 검색합니다 .)

두 번째 예에서 "command"는 인수가 echo값인 동사입니다. $PATHecho명령은 인수를 다음으로 인쇄합니다.표준 출력$PATH, 화면에서 값을 볼 수 있습니다.

답변2

명령어를 입력하면

$ cat food

오류 메시지가 표시됩니다

cat: food: No such file or directory

명령어를 입력하면

$ cp abc def

오류 메시지가 표시됩니다

cp: cannot stat ‘abc’: No such file or directory

그것은 매우매우Unix와 Linux의 오류 메시지는 오류를 발행한(즉, 작성한) 프로그램의 이름으로 시작되는 경우가 많습니다. 그래서 입력할 때

$ abc:def

bash 쉘에 들어가면 자연스럽게 오류 메시지가 나타납니다.

-bash: abc:def: command not found

bashbash가 메시지를 내보내므로 이름으로 시작합니다 . 약간 까다로운 부분은 -bashbash bash가 .껍데기, 구체적으로,로그인 쉘.  관례적으로 로그인 쉘의 이름은 항상 다음으로 끝납니다.-.

이에 대한 자세한 배경 정보는 다음을 참조하세요.

답변3

$PATH인수도 없고 실제 명령 이름도 없으므로 변수를 평가하고 명령으로 실행해 보십시오. 그러면 다음과 같은 메시지가 표시됩니다 no such file or directory.

echo $PATH$PATH변수의 내용을 표시하는 명령을 명시적으로 제공합니다 .

답변4

이는 다음과 같습니다.

export myvar="echo test"
$myvar

bash는 myvar을 확장하고 변수의 결과를 실행합니다.

이 경우의 출력은 다음과 같습니다.

시험

관련 정보