개요
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``)을 사용합니다.