Linux 명령어 · 2 min read · Sep 20, 2025
초보자를 위한 Linux expr 명령어 튜토리얼 (예제 포함)
때때로 명령줄에서 작업할 때(특히 셸 스크립트를 다룰 때) 문자열에서 하위 문자열을 검색하거나 인덱스를 찾는 것과 같은 작업을 수행해야 하는 상황에 처할 수 있습니다. 또한 비교 및 산술 연산과 같은 다른 작업도 포함됩니다.
잘 모르는 분들을 위해, 이러한 모든 작업을 수행할 수 있는 명령줄 유틸리티인 expr가 존재합니다. 이 튜토리얼에서는 이 명령어의 기본 사항과 제공하는 몇 가지 기능에 대해 논의할 것입니다. 여기서 언급된 모든 예제와 지침은 Ubuntu 16.04LTS에서 테스트되었습니다.
Linux expr 명령어
이 도구의 공식 문서에 따르면, 이는 표현식을 평가하는 데 사용됩니다. expr 명령어의 구문은 다음과 같습니다:
expr EXPRESSION
expr OPTION다음은 이 도구가 어떻게 작동하는지에 대한 좋은 아이디어를 제공하는 Q&A 스타일의 예제입니다.
Q1. expr를 사용하여 산술 연산을 수행하는 방법은?
예를 들어 두 숫자(예: 5와 6)를 더하고 싶다고 가정해 보겠습니다. expr를 사용하여 이를 수행하는 방법은 다음과 같습니다:
expr 5 + 6위 명령어의 실행 결과는 다음과 같습니다:

출력에서 ‘11’이라는 합계가 생성된 것을 볼 수 있습니다. 연산자(‘+’의 경우) 양쪽에 하나의 공백이 필수라는 점에 유의하십시오. 그렇지 않으면 expr 명령어는 다음과 같은 출력을 생성합니다:

이는 분명히 잘못된 것이며 우리가 기대하는 것이 아닙니다.
유사하게, 뺄셈 연산은 다음과 같이 수행할 수 있습니다:
expr 15 - 6다음은 나눗셈의 예입니다:
expr 10 / 3위의 명령은 출력에서 3만 생성된다는 점에 유의하십시오. 나머지를 보려면 % 연산자를 사용하십시오.
expr 10 % 3
곱셈은 다음과 같은 방식으로 수행해야 합니다:
expr 10 * 3하지만 이것은 작동하지 않습니다. 왜냐하면 *는 내장 셸 연산자이기 때문입니다. 따라서 곱셈 연산자로 작동하게 하려면 다음과 같이 이스케이프 문자를 앞에 붙여야 합니다:
expr 10 \* 3
Q2. expr를 사용하여 비교 연산을 수행하는 방법은?
expr 명령어는 다양한 방식으로 비교 연산을 수행할 수 있게 해줍니다. 예를 들어, 다음 명령어(아래 스크린샷의 세 번째)는 ARG1이 null도 아니고 0도 아닐 경우 ARG1을 반환하고, 그렇지 않으면 ARG2를 반환합니다.

파이프 앞의 백슬래시는 파이프가 내장 셸 연산자로 처리되기 때문에 이스케이프 문자로 사용됩니다.
유사하게, 많은 작업을 수행할 수 있습니다. 다음 스크린샷 - 명령어의 매뉴얼 페이지에서 가져온 - 은 expr 명령어로 수행할 수 있는 비교의 종류에 대한 좋은 아이디어를 제공해야 합니다.

Q3. expr를 사용하여 문자열 관련 작업을 수행하는 방법은?
expr 명령어는 여러 문자열 관련 작업을 수행할 수 있게 해줍니다. 예를 들어, 문자열의 길이를 찾으려면 다음과 같이 도구를 사용할 수 있습니다:
expr length [string]
문자열에 공백이 포함된 경우 이스케이프 문자를 사용해야 합니다.

계속해서, expr를 사용하여 주어진 문자열에서 하위 문자열을 추출할 수도 있습니다. 구문은 다음과 같습니다:
expr substr [string] [pos] [length]예를 들어, ‘howtoforge’에서 ‘forge’를 가져오려면 다음과 같이 도구를 사용할 수 있습니다:

더 나아가, expr를 사용하여 주어진 문자열에서 문자 집합의 시작 인덱스를 찾을 수도 있습니다. 구문은 다음과 같습니다:
expr index [string] [chars]예를 들어, ‘howtoforge’에서 ‘wt’의 인덱스를 찾으려면 expr를 다음과 같이 사용하십시오:

결론
여러분이 동의하실 것처럼, expr는 기능이 풍부한 명령어이지만 이해하기 쉽고 사용하기 간단합니다. 이 튜토리얼에서는 제공하는 대부분의 기본 기능에 대한 정보를 제공하려고 노력했습니다. 이러한 연습을 마친 후에는 도구의 매뉴얼 페이지로 가서 더 많은 정보를 배울 수 있습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.