"set -o"를 통해 쉘 속성/옵션을 설정/설정 해제하는 것과 다른 옵션을 사용하여 "set"을 통해 설정/해제하는 것의 차이점은 무엇입니까?

"set -o"를 통해 쉘 속성/옵션을 설정/설정 해제하는 것과 다른 옵션을 사용하여 "set"을 통해 설정/해제하는 것의 차이점은 무엇입니까?

Bash에서 set특정 쉘 옵션을 설정하거나 설정 해제하는 데 사용됩니다.

옵션 -o option-name+o option-name일부 쉘 옵션을 설정하거나 설정 해제하는 데 사용됩니다.

-o또는 of 이외의 +o옵션을 set사용하여 특정 쉘 옵션을 설정하거나 설정 해제할 수도 있습니다.

set -o다른 옵션에 의해 설정/설정 해제된 쉘 속성/옵션의 차이점은 무엇입니까 set?

set -o및 이외의 옵션을 사용 set +o하여 설정하거나 설정 해제한 쉘 옵션과 비교하여 설정하거나 설정 해제한 쉘 옵션의 특별한 점은 무엇입니까 ?set-o+o

답변1

예를 들어 기존 단일 문자 옵션과 다중 문자 니모닉 간에는 차이가 없으며 동일합니다 set -e.set -o errexit

나는 이 두 가지 형태가 존재하는 이유가 쉘에 원하는 옵션 범위를 나타내는 단일 문자 플래그가 부족하기 때문이라고 생각합니다. -o본질적으로 무제한의 옵션이 제공됩니다(허용될 수 있는 옵션 이름의 길이에 의해서만 제한됨). 일관성과 자체 문서화 코드에서의 사용을 위해 기존 플래그에도 옵션 이름이 제공됩니다. 해당하는 한 글자 지정이 없는 옵션 이름은 단순히 더 새로운 것입니다.

관련 정보