아래 스크립트가 왜 스스로 삭제되나요?

아래 스크립트가 왜 스스로 삭제되나요?

다음 내용으로 실행파일을 생성하여 실행하면 자동으로 삭제됩니다.
어떻게 작동하나요?

#!/bin/rm

답변1

커널은 다음으로 시작하는 줄을 해석 #!하고 이를 사용하여 스크립트를 실행하고 스크립트 이름을 전달하므로 결국 실행됩니다.

/bin/rm scriptname

그러면 스크립트가 삭제됩니다. (처럼스티븐 차제라스 지적, scriptname여기에 스크립트를 찾기에 충분합니다. 상대 또는 절대 경로를 지정하면 그대로 전달됩니다. 그렇지 않으면 이전에 찾은 모든 경로가 앞에 추가됩니다. 해당 경로를 포함하고 스크립트가 현재 경로에 있는 경우 PATHnull 문자가 포함될 수 있습니다. 경로 문자열 PATH디렉터리. echo 스크립트를 사용하여 #!/bin/echo작동 방식을 확인할 수 있습니다. )

~처럼홉스지적한 대로 이는 스크립트가 실제로 rm스크립트가 아니라 bash스크립트임을 의미합니다. 후자는 로 표시됩니다 #!/bin/bash.

바라보다프로그램 작동 방식Linux에서 이것이 어떻게 작동하는지에 대한 자세한 내용은 이 문서의 설명에서 다른 플랫폼에 대한 세부 정보를 제공합니다. #!셔뱅(shebang)이라고 알려진 용어를 검색하시면 많은 정보를 찾으실 수 있습니다(감사합니다아론제안). ~처럼일본 LP"파운드 뱅" 또는 "해시 뱅"이라고도 합니다( 종종 "파운드" 또는 "해시"라고도 하며 #이 단어가 사용되지 않는 국가에서는 "뱅"이라고도 함 ).£!위키피디아더 많은 정보가 있습니다.

관련 정보