-xe 매개 변수를 / bin / bash에 전달하는 것은 무엇입니까?


59

제목이 정확히 말한 것. 다음 유스 케이스에서 -xe가 무엇을하는지 알 수있는 적절한 문서를 찾는 것은 운이 좋지 않습니다.

#!/bin/bash -xe

이러한 매개 변수는 무엇을하고 어디에 기록되어 있습니까?


BASH 바이너리로 전달되는 매개 변수에 대해 이야기하고 있습니까, 아니면 BASH 스크립팅 언어 내에서 함수와 매개 변수에 대해 이야기하고 있습니까?
Richard Keller

다음과 같이 BASH 바이너리로 전달되는 매개 변수를 참조하십시오. #! / bin / bash -xe
상상의

답변:


56

매뉴얼 페이지를 읽으면 섹션 bash맨 위에 다음이 OPTIONS있습니다.

 모든 단일 문자 셸 옵션은
 set builtin 명령에 대한 설명은 다음과 같은 경우 옵션으로 사용할 수 있습니다.
 쉘이 호출됩니다. 또한 bash는 다음 옵션을 해석합니다.
 호출되면 ...

set맨 페이지 뒷부분에서이 명령에 대한 설명서를 읽으면 다음을 찾을 수 있습니다.

 -e 파이프 라인 인 경우 즉시 종료합니다.
 괄호로 묶인 서브 쉘 명령,
 또는 명령 목록의 일부로 실행되는 명령 중 하나
 중괄호 (위의 SHELL GRAMMAR 참조)는 0이 아닌 상태로 종료됩니다. 

 -x 각 간단한 명령을 확장 한 후 명령
 명령, 선택 명령 또는 명령, 표시를위한 산술
 PS4의 확장 된 값, 명령 및
 확장 된 인수 또는 관련 단어 목록.

다시 말해, -e어떤 것이 오류를 반환 할 때마다 쉘이 즉시 종료되도록하고 (이것은 쉘 스크립트에서 페일 세이프 메커니즘으로 자주 사용됨), -x스크립트의 상세한 실행을 가능하게하여 무슨 일이 일어나고 있는지 확인할 수 있습니다.


10

BASH 인수에 대한 설명을 보려면 콘솔에 다음을 입력하십시오.

bash -c "help set"

질문에 대답하려면 :

-e 명령이 0이 아닌 상태로 종료되면 즉시 종료하십시오.

-x 명령과 인수가 실행될 때 인쇄합니다.


4

로부터 :

set builtin 명령 설명에 설명 된 모든 단일 문자 쉘 옵션은 쉘을 호출 할 때 옵션으로 사용할 수 있습니다.

set 내장을 살펴보십시오 .


2

-x set -e set -...을 설정하는 것을 생각하고 있습니까? 달리기 help set만하면됩니다.


1
나는 다음과 같은 매개 변수를 사용하려고 생각하고 있습니다 : #! / bin / bash -xe
상상의

0

-x 및 -e와 같이 bash에 전달되는 매개 변수에 대한 설명서를 읽는 가장 좋은 곳은 어디입니까? 나는 사람 1 bash를 시도했지만 거기에서 다루지 않는 것 같습니다.

basj 맨 페이지의 OPTIONS 섹션을 읽으십시오.


0

Bash 언어에 대한 원 스톱 문서로 우수한 Bash 참조 매뉴얼 을 사용 합니다. 맨 페이지보다 더 유용하다는 것을 알았습니다. 관련 섹션 (-e, -x 스위치에 대한 설명은 여기에서 찾을 수 있습니다. set builtin

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.