여기에는 두 가지 시나리오가 있습니다.
Sudo 권한은 특정 그룹에 부여됩니다.
ㅏ. 새 사용자가 생성되어 그룹에 할당됩니다. b. 이 사용자를 사용하면 쉘 스크립트를 통해 명령을 실행할 때 어떤 명령(예: mkdir)도 실행할 수 없으며 "명령을 찾을 수 없음" 오류가 표시됩니다. 하지만
ㅏ. 열린 터미널에서 동일한 명령을 실행하면 실행되어 디렉터리가 생성됩니다. 같은 생각이 있으면 매우 도움이 될 것입니다.
이에 대한 추가 정보가 필요하면 알려주시기 바랍니다.
답변1
스크립트에서 바이너리 파일에 전체 경로를 추가해 보세요. /bin/mkdir
명령 뒤에 를 사용하면 명령의 전체 경로를 찾을 수 있습니다. which
그런 다음 명령의 전체 경로를 반환합니다. 예를 들면 다음과 같습니다.
$ which mkdir
/bin/mkdir
스크립트가 실행되는 환경의 PATH를 설정하는 데 사용할 수도 있습니다 export
. 스크립트에서 이 작업을 수행하려면 export PATH=$PATH:/bin:/usr/bin:/path/to/whateverelse
스크립트 시작 부분에 다음과 유사한 줄을 추가하세요.
바라보다http://www.cyberciti.biz/faq/unix-linux-adding-path/더 알아보기.
개인적으로는 바이너리의 전체 경로를 사용하는 것이 좋습니다.