inflearn logo
강의

講義

知識共有

Linuxシェルスクリプトマスター

正規表現の比較(if..fi)

BASH_REMATCH 변수가 어디서 나온거죠?

916

htkim

投稿した質問数 4

1

관련 답변 읽어보았으나 여전히 이해가 안되서 질문드립니다.

 

어디서 BASH_REMATCH 변수가 나오는건지 모르겠습니다.

$LANG =~ $locale이 되면 자동으로 BASH_REMATCH가 생성되는건지 어쩐건지 설명 없이 바로 그냥 저 변수에 2번째 요소와 1번째 요소를 호출하는게 이해가 안됩니다.

 

그리고 =~도 무슨 말씀인지 모르겠습니다.

 

대체로 명령어 실행했을 때 현상 만을 설명해주시고 원리 설명이 없어서 이해가 너무 어렵습니다.

 

참고할만한 정규표현식 관련 사이트 같은게 있으면 추천 좀 부탁드립니다.

linux shell-script

回答 1

0

guileschool

안녕하세요. htkim 님

BASH_REMATCH는 Bash 스크립트 내에서 사용되는 쉘 변수입니다. 이 변수는 [[ 명령을 사용하여 정규 표현식이 매치될 때, 매치된 부분과 관련된 정보를 저장합니다. 기본적으로, BASH_REMATCH의 첫 번째 원소(0번 인덱스)는 전체 매치된 문자열을 포함하고, 그 이후의 원소들은 괄호로 묶인 하위 표현식에 해당하는 매치들을 포함합니다.

예를 들어, 아래의 Bash 스크립트 예시를 살펴보겠습니다:
image

=~ 는 문자열을 정규표현식으로 비교할 때 사용하는 문법으로 이해하시면 됩니다.

기호 좌측에는 비교하고 싶은 문자열을, 우측에는 정규표현식을 작성하면 됩니다.

 

정규식을 학습할 수 있는 무료 사이트입니다.

https://regexr.com/

 

59회차 학습 미작동

0

68

2

${object%%:*}, ${object#*:}는 어떤 뜻인가요

2

397

1

./euid.sh

2

398

1

touch 'Gone with the wind.mp3' 입력 결과가 다릅니다

1

365

1

스크립트에서 %는 무엇을 의미하나요?

1

520

1

하드 링크, 심볼릭 링크

1

691

2

[..]와 테스트 강의에서

1

389

1

하드 링크, 심볼릭 링크

0

631

1

변수명이 출력되지 않습니다.

1

287

1

변수명 출력이 되지 않습니다.

0

345

1

select in case문 질문

0

231

1

crontab 질문이 있습니다.

1

225

2

(..)_(..) 와 BASH_REMATCH

1

748

1

^[.+] 정규표현식이 RegExr 를 나타내는게 맞나요?

1

390

2

실습자료를 다운받은 다음에 어떻게 해야 하나요?

0

437

3

sudo cp helloworld.sh /usr/bin 명령어 질문

1

604

1

read -p 명령어가 동작하지 않습니다.

2

351

1

wc 명령어에 -L 옵션이 동작하지 않습니다.

1

437

1

book이 변수가 아니라 파일인가요?

1

358

1

sed 관련 질문

1

641

2

파일접근권한 강의

1

146

1

[] 결과

2

213

1

# (주석) 관련 질문 드립니다.

1

166

1

bash 타이핑 정보 읽어들이기

1

211

1