(#!/빈/배쉬)이 정확히 무엇입니까?

첫 번째 줄(#!/빈/배쉬 또는#!/빈/쉬)이름이 있습니다. 그것은’그녀 방'(샤방)으로 알려져 있습니다. 이 토큰의 연결에서 파생 날카로운(#)쾅(!). 또한 쉬방,해시 뱅,파운드 뱅 또는 해시 플링이라고도합니다. 에 컴퓨팅,ㅏ 그녀-쾅 이다 문자 시퀀스로 구성된 문자 번호 기호 및 느낌표(#!)스크립트의 시작 부분에.

/빈/배쉬 대/빈/쉬

우리는 종종 그녀-뱅 또는 스크립트 헤더의 다양한 보았다. 우리는 종종 특정 스크립트가 특정 그녀-뱅을 사용하는 이유를 궁금해,왜 다른. 유닉스 계열 운영 체제에서 우리는 여러 쉘을 선택할 수 있습니다. 쉘은 작은 프롬프트뿐만 아니라 스크립트의 명령을 해석뿐만 아니라 책임이 있습니다. 따라서 쉘은 조건,파이프,루프 등을 사용하여 크고 복잡한 논리를 구현할 때 특히 중요한 역할을합니다.

/빈/쉬 시스템 셸을 나타내는 실행 파일 이며 일반적으로 시스템 셸 중 셸에 대 한 실행 파일을 가리키는 심볼릭 링크로 구현 됩니다. 시스템 셸은 기본적으로 스크립트에서 사용해야 하는 기본 셸입니다. 지난 몇 년 동안 데비안(및 우분투)은 시스템 쉘을 배쉬에서 대시로 전환하기로 결정했습니다.이 쉘은 비슷하지만 가볍고 훨씬 빠릅니다.

대시는 배쉬와 상당히 잘 호환됩니다. 그러나,배쉬 특정 확장을 구현하지 않습니다. 표준 휴대용 운영 체제 인터페이스,유닉스 계열 운영체제를 표준화하기위한 시도이다. 우분투의 시스템 쉘이 대시를 가리키고 있지만,사용자로서 로그인 쉘이 시간에 배쉬되고 있습니다.

/빈/배쉬는 리눅스 시스템의 사용자 로그인에 대한 기본 쉘로 사용되는 가장 일반적인 쉘입니다. 쉘의 이름은 본-다시 쉘의 약어입니다. 배쉬는 스크립트의 대부분을 실행할 수 있으며,더 많은 기능을 가지고 있기 때문에 널리 사용된다,잘 개발되고 더 나은 구문.

이게 뭐야? /왜 우리는 그것을 사용합니까?

#!/bin/bash
echo $(date) # Will print the output of date command
touch ~/output.txt
echo "Hey there" > ~/output.txt

위와 같이 매우 간단한 스크립트를 생각해 봅시다. 우리가 쉘 스크립트를 분석하면 어떤 간단한 경우에,그것은 파일에 저장된 명령의 목록에 불과하다. 그것은 또 다시 동일한 작업 또는 명령을 실행하는 우리의 노력을 줄일 수 있습니다. 따라서 스크립트의 시작 부분을 보면 첫 번째 줄은 해시(#)와 느낌표(!)로 시작합니다.). 해시(#)로 시작하는 모든 줄은 주석으로 읽혀진다는 것을 이미 알고 있어야합니다. 따라서 스크립트를 실행할 때 첫 번째 줄은 주석으로 읽히고 인터프리터는 두 번째 줄로 이동합니다. 그러나 첫 번째 줄은 이미 그 일을했습니다.

유닉스 계열 운영 체제에서 그녀-쾅(#!)는 프로그램으로 실행되며,프로그램 로더는 스크립트의 초기 줄의 나머지 부분을 인터프리터 지시어로 구문 분석합니다. 따라서 지정된 인터프리터 프로그램이 대신 실행되어 스크립트를 통해 처음에 사용 된 경로를 인수로 전달합니다.

스크립트가 다음 줄로 시작한다고 가정합니다:

#!/bin/sh

다음 프로그램 로더는 첫 번째 인수로 스크립트의 경로를 전달 하는 다른 대신/빈/쉬 프로그램을 사용 하도록 지시 합니다.

간단히 말해서,스크립트의 머리에있는 그녀 뱅은 이 파일이 지시 된 명령 인터프리터에 공급 될 명령 세트라고 시스템에 알려줍니다. 유닉스 계열 운영 체제에는 다양한 쉘이 있으며 각 스크립트 헤더 줄은 다른 명령 인터프리터를 호출합니다.

일부 그녀-방 예제

#!본 셸 또는 호환 셸을 사용하여 스크립트를 실행합니다./빈/배쉬:배쉬 쉘을 사용하여 스크립트를 실행합니다.

#!이 스크립트는 쉘 또는 호환 가능한 쉘을 사용하여 실행됩니다.

#!이 스크립트는 다음과 같은 방식으로 실행됩니다.파이썬 :환경 변수

에서 파이썬 인터프리터의 경로를 자동으로 찾아 파이썬을 사용하여 스크립트를 실행합니다.

답글 남기기

이메일 주소는 공개되지 않습니다.

Previous post 언덕 용 최고의 제로 턴 모어를 찾는 결정적인 가이드
Next post 오동 나무 목재 및 사전 가공 된 스트립