맥북 터미널에서 h2.sh파일 실행 하던 중 아래 내용이 발생 했습니다.
zsh: permission denied: ./h2.sh
해당 오류는 말그대로 파일실행 권한이 없어서 발생한 오류인데요.
터미널에서 아래 내용으로 변경하여 실행해 줍니다.
MacBookPro % chmod +x h2.sh
+x
는 "디렉토리" 또는 "실행 권한이 없는 파일"에 실행 권한 적용의 의미를 갖습니다.
아래와 같이 다시 명령어를 쳐주면 실행 됩니다.
MacBookPro % ./h2.sh
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