Bash에서 문자열의 정의는 무엇입니까?
Bash는 문서의 여러 위치에서 "문자열"이라는 용어를 사용합니다. 예를 들어 =~
정규식 일치에 사용되는 문서 연산자에 사용됩니다.
== 및 !=와 우선순위가 동일한 추가 이항 연산자 =~를 사용할 수도 있습니다. 그것을 사용할 때,끈연산자의 오른쪽은 POSIX 확장 정규식으로 처리되고 이에 따라 일치됩니다(regex(3)에서처럼).
이 섹션에는 DEFINITIONS
문자열 정의가 없습니다 .
DEFINITIONS
The following definitions are used throughout the rest of this document.
blank A space or tab.
word A sequence of characters considered as a single unit by the shell. Also known as a token.
name A word consisting only of alphanumeric characters and underscores, and beginning with an alphabetic character or an underscore. Also referred to as an identifier.
metacharacter
A character that, when unquoted, separates words. One of the following:
| & ; ( ) < > space tab newline
control operator
A token that performs a control function. It is one of the following symbols:
|| & && ; ;; ;& ;;& ( ) | |& <newline>
그렇다면 Bash의 문자열은 정확히 무엇입니까? IFS
환경 변수에 공백이나 문자를 포함 할 수 있나요 ?
참고: 문자열은 일반적으로 알파벳의 일련의 기호로 정의된다는 것을 알고 있습니다.
답변1
Bash 매뉴얼은 문자열을 정의하지 않지만그것은 그렇게 말한다
이는 IEEE POSIX 사양(IEEE 표준 1003.1)의 IEEE POSIX 쉘 및 도구 부분을 일관되게 구현하기 위한 것입니다.
그래서 우리는 가정할 수 있습니다문자열의 POSIX 정의적용 가능:
첫 번째 널 바이트로 끝나고 이를 포함하는 연속 바이트 시퀀스입니다.