.sh 확장자없이 bash에서 파일을 실행하고 싶습니다.쉘에서 .sh 확장자없이 파일을 실행하는 방법
예 : 내가 파일 내가 (! 첫 번째 줄에 나는이 추가로 #/빈/bash는) 직접 실행할 수 있습니다 "abc.sh"가 있지만 파일 이름이 바로 "ABC"
.sh 확장자없이 bash에서 파일을 실행하고 싶습니다.쉘에서 .sh 확장자없이 파일을 실행하는 방법
예 : 내가 파일 내가 (! 첫 번째 줄에 나는이 추가로 #/빈/bash는) 직접 실행할 수 있습니다 "abc.sh"가 있지만 파일 이름이 바로 "ABC"
리눅스에서는 ./filename
도 스크립트를 실행합니다! 그리고 당신은 실행할 필요가 허락 :
chmod 755 filename
는하지만 여전히 "오두막"를 필요
#!/bin/bash
편집 : 당신이 한 경우에 나는이
있어 here에서
스크립트 디렉토리를 PATH에 두지 마십시오. 합니다 ( 현재 디렉토리)이 같은 스크립트를 활성화 할 수 있습니다, 어느 PATH에없는 :
스크립트가 명시 적으로 주어진 쉘에 의해 실행될 수 ./script_name.sh
하지만 일반적으로
rbash의 script_name.sh
SH : 우리는 스크립트가 다른 쉘 또는 인쇄를 작동하는지 확인으로 특별한 행동, 같은 를 얻으려면 우리는 디버깅을 위해 를 추적 이렇게 파일이 이미
abc.sh
같은 실행 파일의 경우, 당신이 할 필요가(디렉터리 경우에 가정이다,mv abc.sh abc
이것이 해결되었습니다 나에게 문제는 있지만 ./filename은 왜 작동합니까? 나는 그것을 설명하기 위해 구글에서 아무것도 찾을 수 없습니다. 어떻게 디렉토리를 변경하지 않고 디렉토리에서 스크립트를 실행하겠습니까? 예를 들어 홈 디렉토리에 있고 filename의/some/nested/디렉토리에있는 스크립트를 실행하려면 어떻게해야할까요? –
@QuestionMcquestioner 내 대답을 편집했습니다. 바라기를 당신은 지금 이해한다! – WasteD
그래, 지금은 조금 더 의미가 있습니다; 감사합니다. –
되고 싶어 파일에 대한 사용 권한은 무엇입니까? ./abc.sh
과 같은 작업을 실행 가능하게하려면 실행 권한이 있어야합니다.
당신은 항상 실행 기능의 측면에서 아무것도 의미하지 않는다 리눅스에서 bash abc.sh
파일 이름을 수행 할 수 있습니다, 당신은 파일 myfile.something.something
를 호출 할 수 있습니다 그것은 여전히 실행 할 수 있습니다. abc
으로 이름을 지정할 수 있지만 사용자, 그룹, 기타에 대해 EXECUTABLE
권한이 있어야합니다.
chmod +x <filename>
을 추가 할 수 있지만 위에 링크를 통해 더 잘 이해할 수 있습니다.
755 개의 사용 권한이 있지만 그냥 abc로 사용할 수 있습니까? –
누가 파일을 소유하고 누가 파일을 사용하려고합니까? 이 모든 것들은 파일 이름이 실행되는 동안 실행에 중요합니다. – ioneyed
'abc'로 실행하려면 몇 가지 옵션이 있습니다 : (1)'abc.sh '대신'abc'로 이름 짓기, (2)'abc'에서' abc.sh' (3)'abc.sh'를 참조하는'abc'라는 별칭을 제공하십시오 (4)'abc.sh'를 실행하는 쉘 스크립트'abc'를 생성하십시오 ..... – user1934428
을 script_name.sh -x
bash는 script_name.sh 파일 수명)
Linux 또는 Unix 셸에서 파일 확장자는 실행 여부에 영향을주지 않습니다.
그냥'chmod + x abc'입니다.확장 기능은 리눅스에서 의미가 없습니다 – AhmadWabbi
PATH (실행 파일 프로그램을 찾을 곳을 알려주는 변수)에 없으면'./abc' (@WasteD 언급과 같이)로 시작해야합니다. –