expr
Original author(s) | Dick Haight (AT&T Bell Laboratories) |
---|---|
Developer(s) | Various open-source and commercial developers |
Initial release | 1979 |
Operating system | Unix, Unix-like, IBM i |
Platform | Cross-platform |
Type | Command |
expr은 표현식을 평가하고 해당하는 값을 출력하는 유닉스와 유닉스-계열 운영 시스템의 명령줄 유틸리티입니다. 그것은 유닉스 v7에서 처음 등장했습니다. expr 명령은 IBM i 운영 시스템에도 이식되었습니다.[1]
Overview
expr은 정규 표현식과 일치하는 패턴을 포함하여 정수 또는 문자열 표현식을 평가합니다. expression에서 각 기호 (연산자, 값, 등)는 별도의 매개변수로 제공되어야 합니다. 표현식을 작성하는 것에서 제기되는 대부분의 문제는 호출하는 명령줄 쉘을 expr에 대해 처리하도록 의도된 문자에 동작으로부터 막는 것입니다.
Syntax
구문: expr expression
연산자는 다음에 대해 유용합니다:
- 정수: 덧셈, 뺄셈, 곱셈, 나눗셈과 모듈러스
- 문자열: 정규 표현식과 일치; 일부 버전에서: 문자열에서 문자의 집합을 찾기 ("index"), 부분문자열을 찾기 ("substr"), 문자열의 길이 ("length")
- 둘 다: 비교 (같음, 같지 않음, 보다 작음, 등.)
Example
다음은 부울 표현을 포함하여 (비-POSIX-호환) 예제입니다:
expr length "abcdef" "<" 5 "|" 15 - 4 ">" 8
이 예제는 "1"을 출력합니다. 이것은 길이 "abcdef"가 6이고, 5보다 작지 않기 때문입니다 (따라서 |의 왼쪽 변은 0을 반환합니다). 그러나 15 빼기 4는 11이고 8보다 크므로, 오른쪽 변이 참이고, or에 의해 참이 되므로, 결과는 1입니다. 이 예제에 대해 프로그램 탈출 상태는 0입니다.
순수 산술에 대해, bc를 사용하는 것이 더 편리한 경우가 많습니다. 예를 들어:
echo "3 * 4 + 14 / 2" | bc
왜냐하면 그것은 표현식을 단일 인수로 받아들이기 때문입니다.
이식 가능한 쉘 프로그래밍에 대해, "index", "length", "match" 및 "substr" 명령의 사용은 피해야 합니다; 문자열 일치는 계속 가능하지만 그것은 "string : regexp" 구문을 사용해야 합니다.
See also
References
- ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 2020-09-05.
{{cite web}}
: CS1 maint: url-status (link)
External links
![](https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/40px-Wikibooks-logo-en-noslogan.svg.png)
- The Single UNIX Specification, Issue 7 from The Open Group : evaluate arguments as an expression – Commands & Utilities Reference,
- expr invocation in GNU coreutils manual
![]() | This Unix-related article is a stub. You can help Wikipedia by expanding it. |