expr
expr![]() 의 예 expr 기본적인 합계를 실행하는 명령어 | |
원저작자 | 딕 헤이트 (AT&T 벨 연구소) |
---|---|
개발자 | 다양한 오픈 소스 및 상용 개발자 |
초기 릴리즈 | 전 ( |
운영 체제 | Unix, Unix 계열, IBM i |
플랫폼 | 크로스 플랫폼 |
유형 | 명령어 |
expr은 Unix 및 Unix와 유사한 운영체제시스템에서의 명령줄 유틸리티로 식을 평가하여 대응하는 값을 출력합니다.Unix v7에서 처음 등장했습니다.이 명령어는 일반적인 GNU Unix 유사 [1]유틸리티의 nativeWin32ports UnxUtils 컬렉션의 일부로 Microsoft Windows용 별도의 패키지로 사용할 수 있습니다.그expr 명령어는 IBM i 운영 [2]체제에도 이식되었습니다.
개요
expr은 정규 표현과 일치하는 패턴을 포함하여 정수 표현 또는 문자열 표현을 평가합니다.식에 포함된 각 기호(연산자, 값 등)는 별도의 매개 변수로 지정해야 합니다.표현식 쓰기 시 발생하는 문제의 대부분은 expr이 처리하는 문자에 대해 호출 명령줄 셸이 동작하지 않도록 하는 것입니다.
구문
구문: expr 식
사용 가능한 연산자
- 정수: 덧셈, 뺄셈, 곱셈, 나눗셈
- 문자열의 경우: 정규 표현과 일치; 일부 버전에서는 문자열("색인")에서 문자 집합 찾기, 하위 문자열("색인") 찾기, 문자열 길이("길이")
- 둘 중 하나: 비교(비교, 동일하지 않음, 이하 등)
예
다음으로 (POSIX에 준거하지 않는) 부울식을 사용한 예를 나타냅니다.
expr length "def" "<" 5 " " 15 - 4 " >" 8
이 예에서는 "1"을 출력합니다.이는 길이 "abcdef"가 6으로 5보다 작지 않기 때문입니다(따라서 반환의 왼쪽은 0을 반환합니다).그러나 15 빼기 4는 11이고 8보다 크므로 오른쪽이 참이고, 이것이 참 또는 참이 되므로 1이 됩니다.이 예에서는 프로그램 종료 상태가 0입니다.
순수 산술의 경우 bc를 사용하는 것이 종종 더 편리합니다.예를 들어 다음과 같습니다.
에코 "3 * 4 + 14 / 2" bc
그 표현을 단일 인수로 받아들이기 때문입니다.
휴대용 셸 프로그래밍의 경우 "index", "length", "match" 및 "substr" 명령어의 사용은 피해야 합니다. 문자열 매칭은 가능한 상태로 유지되지만 "string: regexp" 구문을 사용해야 합니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "Native Win32 ports of some GNU utilities". unxutils.sourceforge.net.
- ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 2020-09-05.
{{cite web}}
: CS1 maint :url-status (링크)
외부 링크

- The Single UNIX Specification, The Open Group의 버전4 : 식으로서의 인수를 평가합니다.– Shell and Utilities Reference,
- GNU coreutils 매뉴얼의 expr 호출