.sh 스크립트를 실행할 때 권한이 거부되었습니다.


70
./geany_run_script.sh: 5: ./geany_run_script.sh: ./Area_circumference: Permission denied

program exited with code: 126. 이 문제는 항상 코드를 실행하려고 할 때 발생합니다. 해결책은 무엇입니까?


1
Permission denied해당 파일에 액세스 할 수있는 권한이없는 경우에만 오류가 발생합니다.
Avinash Raj

권한을 변경하는 방법
wkhwilo

어디에서해야합니까? 예를 들어주세요
wkhwilo

그렇게하면 chmod :`geany_run_script.sh '에 액세스 할 수 없습니다 : 해당 파일이나 디렉토리가 없습니다. 터미널에서 실행해야합니까?
wkhwilo

답변:


117

파일 권한 변경 및 소유권에 대해 설명하는 링크는 다음과 같습니다.

이 과정을 건너 뛰려면 (물론) 사용자 홈 디렉토리에 디렉토리 / 폴더를 만들어 C프로그램 (또는 다른 사람) 에서 작업 할 수 있습니다.


터미널을 열고 ( Ctrl+ Alt+를 누름 T) cd대상 디렉토리를 열 수 있습니다 .

cd /path/to/target

"the_file_name"파일에 실행 권한을 부여하려면 (파일 시스템에서 RW 권한이있는 경우) :

chmod +x the_file_name

예를 들어 권한을 변경하는 방법
wkhwilo

내가 최근에 윈도우에서 전환 한 새로운 우분투 사용자입니다.
wkhwilo

.. 작업 디렉토리는 무엇입니까? 소스 코드 파일의 위치는 무엇입니까? ..Windows CLI에 대한 경험이 있습니까?
정확한

@ wkhwilo-012, 그것이 도움이되는지, 더 궁금한 점이 있으시면 언제든지 문의하십시오 ..
정확한

@ wkhwilo-012, 실행 파일을 복사하여 Area_circumference붙여 넣어 (파일 경로를 붙여 넣어) 질문 본문을 업데이트하십시오.
정확한

20

실행 권한 만 부여하면됩니다. 이것을 따르십시오 :

    chmod +x filename.sh
    ./filename.sh

새 스크립트 파일을 만들면 기본적으로 읽기 및 쓰기 권한이 있습니다. 그러나 실행하려면 위와 같이 실행 권한을 부여해야합니다.


2

CTRL+ ALT+ 를 누르 T거나 그래픽 환경에서 apposite 바로 가기 ( Terminal또는 같은 xTerm)를 사용 하여 터미널 응용 프로그램을 엽니 다 .
화면에 나타나는 균일 한 창에서 깜박이는 문자를 볼 수 있습니다 terminal cursor. 단순히 창을 클릭하고 텍스트 (일반적으로 명령)를 ENTER입력하기 위해 쓰신 후 를 눌러 입력을 확인하십시오.
커서 앞에 항상 파일 시스템의 현재 위치가 root directory( "/")로 표시되며 집 (개인 파일이있는 곳)은 "~"라고합니다.
디렉토리 / 폴더를 변경하려면 cd EXISTENTFOLDEREXISTENTFOLDER를 폴더 이름으로 바꾸십시오. 잃어버린 느낌이들 경우, 간단히 입력 cd하여 간단히 홈 디렉토리로 돌아가십시오!
지금문제를 해결하자 :

  1. cd명령을 사용 하여 소스 코드가있는 디렉토리를 찾으십시오. TAB당신을 돕기 위해 사용하십시오 . 를 실행 ls -lh하면 따라야 할 경로와 실행할 파일 목록이 표시됩니다.

  2. 차단 된 파일이 발견되면 chmod +x FILENAMEFILENAME을 소스 코드 파일 이름으로 바꿉니다.

  3. 차단 된 파일이 여러 개인 경우 chmod +x *현재 디렉토리의 모든 파일을 잠금 해제 하기 위해 실행 됩니다. 위험하거나 안전하지 않은 파일을 chmod + x하지 마십시오 .

  4. 실행 ./FILENAME YOUREVENTUALARGUMENTS파일을 실행합니다.

  5. 컴파일 된 프로그램이 홈 디렉토리 외부에서 읽기 / 쓰기를 시도하는 경우을 root사용하여 실행해야합니다 sudo ./FILENAME YOUREVENTUALARGUMENTS.

명령 실행에 대한 매뉴얼을 작성하려면 man COMMAND명령을 정확한 명령 이름으로 바꾸십시오 (Linux는 대소 문자를 구분 함).

일부 쉘에는 Open terminal here삶을 단순화하고 미래에 그것을 검색하고 명령 쉘을 잘 사용하면 가장 친한 친구가 될 수 있음을 기억하는 명령이 있습니다. :-디

그게 다야 여기에 더 많은 도움이 필요한 경우
왼쪽에서 위쪽 화살표를 누르면 도움이됩니다. 해결하면이 답변을 최상의 답변으로 표시하십시오.

Linux & Ubuntu에서 멋진 경험을하십시오.


고마워 이제 홈 디렉토리에서 작업 할 수 있습니다. 이전에 요청한 작업은 허용되지 않습니다. 그것은 허락이 없지만 어쨌든 제안에 감사드립니다.
wkhwilo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.