koodev

Bash에서 문자열 검색 조건식 만들기

Programming

이전에 다른곳에 썼던 내용을 이 블로그에 기록함.

안드로이드 빌드 스크립트를 만들다가 PATH 변수에 특정 문자열이 없을 경우 이를 추가해주는 기능이 필요했다. 관련 내용을 구글링해보니 대부분 문자열 치환에 대해서만 다루고 있었는데, stackoverflow 에서 마침내 원하는 답을 찾을 수 있었다.

http://stackoverflow.com/questions/229551/string-contains-in-bash

string = 'My long string';
if [[$string == *"My long"*]]
then
    echo "It's there!";
fi

이런식으로 대괄호 두개와([[, ]]) 와일드카드 캐릭터(*)를 써서 패턴 검사가 가능하다. 부정 연산자를 넣기 위해 좀 삽질을 했는데, 아래와 같이 ==을 !=으로 바꾸어주면 된다.

JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
if [[$PATH != *"$JAVA_HOME"*]]; then
    export PATH=$PATH:$JAVA_HOME/bin
fi

'Programming' 카테고리의 다른 글

ARM A64 명령어셋 ZIP1, ZIP2  (0) 2019.03.11
ARM A64 명령어세트 기본적인 내용 정리  (0) 2019.03.11
Truncate PWD in prompt (MacOS)  (0) 2018.04.29
Regular expression in sed  (0) 2018.04.25
How to terminate a background process  (0) 2018.04.24