변수 선언 후 실행 시 기본값은 "명령을 찾을 수 없음"입니다.

변수 선언 후 실행 시 기본값은 "명령을 찾을 수 없음"입니다.

다음 코드가 작동하지 않는 이유는 무엇입니까?

#!/bin/sh
PATH=$PWD/Info
defaults read $PATH

실행할 때마다 나는 얻는다.

./script: 3행: 기본값: 명령을 찾을 수 없습니다.

한 줄로 수행하면 작동합니다.

defaults read $PWD/Info

그런 건 괜찮아요. 그냥 궁금해서요.

답변1

$PATH특수 변수인 을(를) 변경하고 있기 때문입니다 . 쉘은 실행 가능한 프로그램을 검색하기 위해 PATH를 사용합니다. defaults아마도 그 중 하나일 것입니다. 그러나 PATH에서 해당 폴더를 제거한 후에는 쉘이 더 이상 해당 폴더를 실행할 수 없습니다.

답변2

경로를 바꾸는 대신 경로에 추가하세요.

PATH=$PWD/Info:$PATH

관련 정보