Mac 프롬프트 "권한이 거부되었습니다"에서 스크립트 실행
나는 터미널 명령에 익숙하지 않은 Mac을 처음 사용하고 dvtcolorconvert.rb
파일을 내 볼륨의 루트 디렉토리에 넣었습니다. 이 루비 스크립트는 xcode 3 테마를 xcode 4 테마 형식으로 변환 할 수 있습니다 xxxxxxxx.dvtcolortheme
.
그런 다음 /dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
터미널 에서 스크립트 를 실행 하지만 항상 " Permission denied "라는 메시지가 표시 됩니다.
이것에 무슨 문제가 있습니까? 누구든지이 문제를 해결하도록 도울 수 있습니까? 감사.
실행하기 전에 전체 답변을 읽으십시오. sudo
달리기 sudo /dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
sudo 명령은 '수퍼 유저'또는 '루트'권한으로 그 뒤에 오는 명령을 실행합니다. 이렇게하면 명령 줄에서 거의 모든 것을 실행할 수 있습니다. 즉, 이것을하지 마십시오! 컴퓨터에서 스크립트를 실행 중이고 운영 체제의 핵심 구성 요소에 액세스하는 데 필요하지 않은 경우 (홈 디렉토리 (~ /) 내에서 스크립트를 호출하기 때문에 그렇지 않은 것 같습니다), 그런 다음 홈 디렉토리에서 실행되어야합니다.
~/dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
~ / 또는 하위 디렉토리로 이동하고 거기에서 실행하십시오. 거기에 권한 문제가 있어서는 안되며 OS에 중요한 것을 액세스하거나 수정할 위험이 없습니다.
여전히 문제 ls -l
가있는 경우 ruby 스크립트와 동일한 디렉토리에서 실행하여 파일에 대한 권한을 확인할 수 있습니다 . 다음과 같은 내용이 표시됩니다.
$ ls -l
total 13
drwxr-xr-x 4 or019268 Administ 12288 Apr 10 18:14 TestWizard
drwxr-xr-x 4 or019268 Administ 4096 Aug 27 12:41 Wizard.Controls
drwxr-xr-x 5 or019268 Administ 8192 Sep 5 00:03 Wizard.UI
-rw-r--r-- 1 or019268 Administ 1375 Sep 5 00:03 readme.txt
readme.txt 파일 -rw-r--r--
이 왼쪽에 표시되어 있음을 알 수 있습니다. 해당 파일에 대한 권한이 표시됩니다. 오른쪽에서 9 개 문자는 'rwx'(읽기, 쓰기, 실행)의 3 개 문자 그룹으로 나눌 수 있습니다. 이 파일에 실행 권한을 추가하려면 실행 chmod 755 readme.txt
하고 해당 권한 부분은 rwxr-xr-x
. 이제 원하는 경우이 파일을 실행할 수 있습니다 ./readme.txt
(./는 bash에게 $ PATH 변수를 검색하는 대신 의도 한 명령을 현재 디렉터리에서 찾도록 지시합니다).
schluchc 는 chmod의 man 페이지를보고 있다고 암시합니다 man chmod
. 이것은 주어진 명령에 대한 문서를 얻는 가장 좋은 방법입니다.man <command>
스크립트를 실행할 수있는 권한을 부여 했습니까?
수퍼 유저로서 다음 명령이이를 수행합니다.
sudo chmod 755 'filename'
자세한 내용은 chmod의 man 페이지를 읽어야합니다.
스크립트를 '수퍼 유저'로 실행하고 명령 앞에 'sudo'를 추가하고 메시지가 표시되면 비밀번호를 입력해야합니다.
그래서 시도해보십시오.
sudo /dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
그래도 작동하지 않으면 권한을 조정 해보십시오.
sudo chmod 755 /dvtcolorconvert.rb
sudo chmod 755 ~/Themes/ObsidianCode.xccolortheme
제 경우에는 shebang에서 어리석은 오타를 만들었습니다.
따라서 뚱뚱한 손가락을 가진 다른 누군가 가이 질문을 우연히 발견하는 경우 :
죄송합니다. #!/usr/local/bin ruby
나는 글을 쓰려고했다. #!/usr/bin/env ruby
ZSH가 제공하는 모호한 오류는 나를 잘못된 경로로 보냈습니다.
ZSH : zsh: permission denied: ./foo.rb
세게 때리다: bash: ./foo.rb: /usr/local/bin: bad interpreter: Permission denied
Ruby 스크립트 (실행 권한이 없을 수 있음), 테마 파일 및 디렉터리 (테마를 읽을 수 없거나 거기에 다른 테마를 만들려고 시도하는 경우) 및 실행할 때있는 디렉터리 에 대한 권한을 확인합니다. 스크립트 (대신 현재 디렉토리에 임시 파일을 만드는 경우 /tmp
).
그들 중 하나가 당신을 슬픔을 유발할 수 있습니다.
Mac에서 관리자 모드로 실행하려면
sudo su
참조 URL : https://stackoverflow.com/questions/12276507/run-script-on-mac-prompt-permission-denied
'developer tip' 카테고리의 다른 글
Java 개발자를위한 최고의 무료 Eclipse 플러그인은 무엇입니까? (0) | 2020.12.26 |
---|---|
std :: is_struct 유형 특성이없는 이유는 무엇입니까? (0) | 2020.12.26 |
함수, 바인딩되지 않은 메서드 및 바인딩 된 메서드의 차이점은 무엇입니까? (0) | 2020.12.25 |
Flask에서 url_for ()가 사용할 도메인을 어디에서 정의합니까? (0) | 2020.12.25 |
두 개의 Div가 서로 나란히 있으며 반응 형 변경으로 스택됩니다. (0) | 2020.12.25 |