[mac] zsh: permission denied

bunny.log·2023년 3월 13일
0

이슈

맥북 터미널에서 h2.sh파일 실행 하던 중 아래 내용이 발생 했습니다.

zsh: permission denied: ./h2.sh 

해당 오류는 말그대로 파일실행 권한이 없어서 발생한 오류인데요.

해결

터미널에서 아래 내용으로 변경하여 실행해 줍니다.

MacBookPro % chmod +x h2.sh

+x 는 "디렉토리" 또는 "실행 권한이 없는 파일"에 실행 권한 적용의 의미를 갖습니다.

아래와 같이 다시 명령어를 쳐주면 실행 됩니다.

MacBookPro % ./h2.sh

chmod

chmod 명령은 파일의 권한을 변경할 수 있게 만들어주는 명령입니다.
"change"와 "mode"의 앞 글자들을 조합한 이름이죠.

(chmod = ch + mod)

chmod 명령에서 지정하는 읽기(r), 쓰기(w), 실행(x) 권한 및 소유자(user), 그룹(group), 그 외 사용자(others)에 대한 설정 값을 통틀어 "모드(mode)"라고 지칭합니다.

그러므로 chmod 명령을 사용하여 파일의 모드(mode)를 변경한다는 것은 파일의 권한을 변경한다는 것과 동일한 의미를 가집니다.

chmod [OPTION] [MODE] [FILE]
  OPTION
    -v        : 모든 파일에 대해 모드가 적용되는 진단(diagnostic) 메시지 출력.
    -f        : 에러 메시지 출력하지 않음.
    -c        : 기존 파일 모드가 변경되는 경우만 진단(diagnostic) 메시지 출력.
    -R        : 지정한 모드를 파일과 디렉토리에 대해 재귀적으로(recursively) 적용.
    
    
   MODE        파일에 적용할 모드(mode) 문자열 조합.

      u,g,o,a : 소유자(u), 그룹(g), 그 외 사용자(o), 모든 사용자(a) 지정.
      +,-,=   : 현재 모드에 권한 추가(+), 현재 모드에서 권한 제거(-), 현재 모드로 권한 지정(=)
      r,w,x   : 읽기 권한(r), 쓰기 권한(w), 실행 권한(x)
      X       : "디렉토리" 또는 "실행 권한(x)이 있는 파일"에 실행 권한(x) 적용.
      s       : 실행 시 사용자 또는 그룹 ID 지정(s). "setuid", "setgid".
      t       : 공유모드에서의 제한된 삭제 플래그를 나타내는 sticky(t) bit.
      0~7     : 8진수(octet) 형식 모드 설정 값.

참고
https://animal-park.tistory.com/301
https://recipes4dev.tistory.com/175

profile
https://github.com/nam-yeun-hwa

0개의 댓글