Bash 스크립트: ls 명령을 찾을 수 없습니다.

Bash 스크립트: ls 명령을 찾을 수 없습니다.

Arch USB iso, zsh에서 다음 내용이 포함된 스크립트를 실행합니다 ./test.

#!/bin/bash
PATH=$(dirname $0)
ls $PATH

반품

ls: 명령을 찾을 수 없습니다

이 문제를 해결하는 방법을 아시나요?

편집: ls는 단독으로 작동하지만 $PATH를 추가하면 작동하지 않습니다.

편집: $PATH가 환경 변수이고 그 값을 대체한다는 의견을 통해 방금 깨달았습니다.

답변1

PATH 변수는 특수 변수입니다. 특수 변수가 많이 있습니다(모두 대문자이므로 피하기 쉽습니다). PATH검색 명령에 사용되는 디렉토리 목록을 저장합니다.

재미와 학습을 위해(동일한 것이지만) echo $PATH스크립트 외부에 입력하여 포함된 내용을 확인하세요.

문제를 해결하려면 PATH를 중단하지 마십시오. 다른 변수 이름(모두 대문자가 아님)을 사용하십시오.

답변2

시도해 보니 주석에서 @123이 언급한 경로에 없는 것 /bin/ls같습니다 .ls

에 추가 합니다 /bin.가입PATH~/.bashrc

export $PATH=$PATH:/bin

답변3

노력하다:

#!/bin/bash
PATH="$PATH:$(dirname $0)"
ls $PATH

이렇게 하면 $(dirname $0)PATH 변수를 바꾸는 대신 추가할 수 있습니다. 또는 환경변수를 편집하지 않고 $(dirname $0)개별적으로 사용하고 싶다면 다른 변수명을 사용하세요.

관련 정보