
Bash 참조 매뉴얼을 읽을 때쉘 작업, 그것은 말한다 :
- 해당 입력은 파일(셸 스크립팅 참조), -c 호출 옵션(Bash 호출 참조)에 대한 인수로 제공되는 문자열 또는 사용자 터미널에서 읽혀집니다.
내 질문은 다음과 같습니다.
- 입력을 읽는 세 가지 방법의 차이점은 무엇입니까?
- 스크립트에 매개변수가 있을 수 있나요? 좋다
$ ./script arg1 arg2 ...
일부 명령을 입력하면 터미널이 다음과 같이 보입니다.
$ command1 arg1 arg2 ...
command1
Bash는 그것이 스크립트(스크립트 내용 읽기)가 아니라 실행 파일(추가 처리 없이 실행만 함)인지 어떻게 알 수 있습니까 ?
답변1
주요 차이점은 터미널에서 읽을 때 쉘이 프롬프트를 표시한다는 것입니다. 그렇지 않으면 차이가 없습니다
$ echo ls > script $ bash script script $ bash -c ls script $ ls script
쉘은 대화식으로 실행되는지 여부를 알고 있으며 이로 인해 일부 명령이 다르게 작동할 수 있습니다.
네, 이것은 매우 흔한 일입니다. 문자열의 인수는 위치 인수를 채웁니다.
$@
및$1
et al. 에서 검색하세요 .$2
man bash
의 매개변수, 함수 및 별칭을 참조하세요
man bash
. 간단히 말해서, 를 실행하면command1 arg1 arg2
bash는 먼저 별칭을 확장command1
하고 결과를 실행하거나 함수를 실행하려고 시도하며command1
, 그것도 가능하지 않으면 해당 에서 실행을 시도합니다$PATH
.