다음과 같이 입력하면 $PATH
출력이 시작되어 -bash:
끝에 then 값이 인쇄되는 반면, 출력에서는 해당 출력이 생성되지 않습니다. 배쉬가 관련되어 있나요?$PATH
: No such directory
echo $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
값인 동사입니다. $PATH
이 echo
명령은 인수를 다음으로 인쇄합니다.표준 출력$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
bash
bash가 메시지를 내보내므로 이름으로 시작합니다 . 약간 까다로운 부분은 -bash
bash bash
가 .껍데기,
구체적으로,로그인 쉘. 관례적으로 로그인 쉘의 이름은 항상 다음으로 끝납니다.-
.
이에 대한 자세한 배경 정보는 다음을 참조하세요.
답변3
$PATH
인수도 없고 실제 명령 이름도 없으므로 변수를 평가하고 명령으로 실행해 보십시오. 그러면 다음과 같은 메시지가 표시됩니다 no such file or directory
.
echo $PATH
$PATH
변수의 내용을 표시하는 명령을 명시적으로 제공합니다 .
답변4
이는 다음과 같습니다.
export myvar="echo test"
$myvar
bash는 myvar을 확장하고 변수의 결과를 실행합니다.
이 경우의 출력은 다음과 같습니다.
시험