> 환경 및 유틸리티 > expr

expr: 표현식 평가

expr 명령어는 정수 연산, 문자열 조작, 논리 연산 등 다양한 표현식을 평가하고 결과를 표준 출력으로 반환합니다. 셸 스크립트에서 변수 값 계산이나 조건부 로직에 유용하게 사용됩니다.

개요

expr 명령어는 산술, 관계, 논리, 문자열 연산을 수행하는 데 사용됩니다. 각 인수는 별도의 토큰으로 처리되므로 연산자와 피연산자 사이에 공백이 필요합니다.

주요 특징

  • 산술 연산 (덧셈, 뺄셈, 곱셈, 나눗셈, 나머지)
  • 문자열 연산 (길이, 부분 문자열, 인덱스, 정규 표현식 매칭)
  • 관계 연산 (같음, 다름, 크거나 작음)
  • 논리 연산 (AND, OR)

주요 연산자

expr 명령어는 다양한 연산자를 사용하여 표현식을 평가합니다. 각 연산자는 별도의 인수로 취급되어야 합니다.

산술 연산자

관계 연산자

논리 연산자

문자열 연산자

생성된 명령어:

명령어를 조합해 보세요.

설명:

`expr` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

기본 산술 연산

expr 10 + 5

두 숫자를 더합니다.

변수와 곱셈 연산

num=20
expr $num \* 3

변수 값을 사용하여 곱셈을 수행합니다. 곱셈 연산자(*)는 셸에서 특별한 의미를 가지므로 이스케이프해야 합니다.

문자열 길이 구하기

expr length "Hello World"

주어진 문자열의 길이를 반환합니다.

부분 문자열 추출

expr substr "example" 3 4

문자열 'example'에서 3번째 위치부터 4글자를 추출합니다.

정규 표현식 매칭 및 추출

expr "filename.tar.gz" : ".*\.\(tar\.gz\)"

문자열에서 정규 표현식에 매칭되는 부분을 추출합니다. 괄호 안의 내용은 서브매치로 반환됩니다.

논리 AND 연산

expr 5 \& 0

두 피연산자 모두 0이 아니면 첫 번째 피연산자를 반환합니다. 셸에서 &는 백그라운드 실행이므로 이스케이프해야 합니다.

팁 & 주의사항

expr 사용 시 유의할 점과 유용한 팁입니다.

주요 주의사항

  • **공백 필수**: 연산자와 피연산자 사이에 반드시 공백을 두어야 합니다.
  • **이스케이프**: 셸에서 특별한 의미를 가지는 문자(예: `*`, `(`, `)`, `&`, `|`, `<` 등)는 백슬래시(`\`)로 이스케이프하거나 따옴표로 묶어야 합니다.
  • **정수 연산**: `expr`은 기본적으로 정수 연산만 지원합니다. 부동 소수점 연산이 필요하면 `bc`와 같은 다른 도구를 사용해야 합니다.
  • **결과 저장**: `expr`의 결과는 표준 출력으로 나오므로, 셸 변수에 저장하려면 명령 치환(예: `result=$(expr 10 + 5)` 또는 `result=`expr 10 + 5``)을 사용합니다.

동일 카테고리 명령어