2012-09-05 3 views
35

터미널 명령에 익숙하지 않은 Mac에 익숙하지 않아 dvtcolorconvert.rb 파일을 내 볼륨의 루트 디렉토리에두고이 루비 스크립트로 xcode 3 테마를 xcode 4 테마 형식으로 변환 할 수 있습니다 는 xxxxxxxx.dvtcolortheme 형식입니다.Mac 프롬프트에서 스크립트 실행 "권한이 거부되었습니다"

그런 다음 터미널에서 /dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme 스크립트를 실행하십시오.하지만 항상 "허가가 거부되었습니다."이 표시됩니다.

무엇이 문제입니까? 아무도 내가이 문제를 해결하도록 도울 수 있습니까? 감사.

답변

36

sudo /dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme

을 실행 해보십시오 sudo

실행하기 전에 모든 답을 읽어 Sudo 명령은 '수퍼 유저'또는 '루트'권한으로 다음에 오는 명령을 실행하십시오. 이렇게하면 명령 줄에서 거의 모든 것을 실행할 수 있습니다. 즉, 이렇게하지 마십시오! 컴퓨터에서 스크립트를 실행하고 운영 체제의 핵심 구성 요소에 액세스 할 필요가없는 경우 (홈 디렉토리 (~ /) 내부에서 스크립트를 호출 한 이후가 아닐 것 같습니다) , 그것은 즉, 홈 디렉토리에서 실행해야합니다

~/dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme

~ /로 이동을 또는 하위 디렉토리와 거기에서 실행합니다. 권한 문제는 절대로해서는 안되며, OS에 중요한 사항을 액세스하거나 수정할 위험이 없습니다.

여전히 문제가있는 경우 ruby ​​스크립트와 동일한 디렉토리에있는 ls -l을 실행하여 파일의 사용 권한을 확인할 수 있습니다. 다음과 같은 메시지가 표시됩니다.

$ 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 

알아 두십시오.txt 파일은 왼쪽에 -rw-r--r--라고 표시합니다. 그러면 해당 파일에 대한 사용 권한이 표시됩니다. 오른쪽의 9자를 'rwx'(읽기, 쓰기, 실행)의 3 자 그룹으로 나눌 수 있습니다. 이 파일에 실행 권한을 추가하려면 chmod 755 readme.txt을 실행하고 해당 사용 권한 부분은 rwxr-xr-x이됩니다. ./readme.txt을 실행하여이 파일을 실행할 수 있습니다. (./은 현재 디렉토리에서 $ PATH 변수를 검색하는 대신 원하는 명령을 찾도록합니다.)

schluchc은 chmod의 매뉴얼 페이지를보고 싶다고 말하면 man chmod을 실행하면됩니다. 이것은 주어진 명령에 대한 문서를 얻는 가장 좋은 방법입니다. man <command>

+0

고마워! 그러나 홈 디렉토리 (~ /)는 어디에 있습니까? 그것은 데스크톱을 의미합니까? –

+0

쉘은'echo ~', 일반적으로'/ Users/$ USER'라고 알려줄 수 있습니다. 데스크탑은 그 아래의 디렉토리에 불과합니다. 유닉스 GUI는 홈 디렉토리를 보이지 않게 숨긴다. –

+1

'echo $ HOME'을 실행하여 홈 디렉토리의 경로를 얻을 수 있습니다. 아마도/Users/ 또는 아마도/Users/

1

Ruby 스크립트의 권한 (실행 권한이 없을 수도 있음), 테마 파일 및 디렉토리 (테마를 읽을 수 없거나 거기에 다른 테마를 만들 수 있음), 디렉토리를 확인하십시오. 스크립트를 실행할 때 (즉, 현재 디렉토리에 임시 파일을 만드는 경우가 아니라 /tmp).

그 중 하나가 슬픔의 원인 일 수 있습니다.

0

'수퍼 유저'로 스크립트를 실행해야합니다. 명령 앞에 'sudo'를 추가하고 프롬프트가 표시되면 비밀번호를 입력하십시오.

그래서 시도 :

sudo /dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme 

를 문제가 해결되지 않으면 권한을 적응하려고 :

sudo chmod 755 /dvtcolorconvert.rb 
sudo chmod 755 ~/Themes/ObsidianCode.xccolortheme 
+2

스크립트가 아무런 상처를 입을 수 없다면 반드시 _darn_하지 않으면 좋을지 모르겠습니다. – paxdiablo

106

당신은 스크립트를 실행할 수있는 권한이 자신에게 부여 했습니까?

슈퍼 사용자가 당신을 위해이 작업을 수행하므로 다음 명령 : 자세한 내용은

sudo chmod 755 'filename'

당신은 chmod를의 매뉴얼 페이지를 읽어야합니다.

+2

이것은 허용 된 대답이어야합니다. 명확하고 간결하며 작동합니다. – dialex

+0

내가 사용했다 : sudo chmod 777 'filename' –

2

제 경우에는 내가 속임수에 어리석은 오타를 만들었습니다. zsh을 잘못된 경로를 나를 아래로 보내 준다 #!/usr/bin/env ruby

모호한 오류 :

으악 : 내가 쓰는 의미 #!/usr/local/bin ruby

그래서 경우에 지방 손가락에 다른 사람이 질문을 통해 실수를 한단다 :

zsh을 : zsh: permission denied: ./foo.rb

배쉬 : bash: ./foo.rb: /usr/local/bin: bad interpreter: Permission denied

관련 문제