Jump to content

expr

This is a fully translated article. Click here for more information.
From DawoumWiki, the free Mathematics self-learning

expr
Original author(s)Dick Haight
(AT&T Bell Laboratories)
Developer(s)Various open-source and commercial developers
Initial release1979; 45 years ago (1979)
Operating systemUnix, Unix-like, IBM i
PlatformCross-platform
TypeCommand

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

  1. ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 2020-09-05.{{cite web}}: CS1 maint: url-status (link)

External links