3.4 연산 (operation)

  C Shell은 산술 연산, 문자열 비교, bit 연산 그리고 논리연산을 할 수 있다. C Shell의 연산자도 C언어와 동일한 문법과 연산 우선 순위를 갖는다.

  C Shell의 약점은 이 연산 부분이다. C Shell은 내부에서 변수 값을 string으로 저장하고 연산 시에 숫자로 변환하는 과정을 거치기 때문에 연산은 많은 시간을 필요로 한다. 만일 연산을 많이 하는 과정을 Shell과 같은 script 언어로 작성하고 싶다면 awk나 perl의 사용을 권한다. 또한 C Shell에서는 실수 연산을 할 수 없다.

 

3.4.1 연산자의 사용

  사용방법은 산술연산을 시작하는 기호인 @ 뒤에 수행하고자 하는 산술식을 입력한다. 다음은 산술연산의 사용 방법과 사용 시 주의점에 대한 것이다.

 

3.4.2 Assignment Operator

  C Shell에서 다음과 같이 연산을 수행한다.

 

 

3.4.3 Bitwise and Logical Operators

  C Shell에서는 bit 연산과 논리 연산을 지원한다.

 

  

 

3.4.4 Comparison Operators

  C Shell에는 숫자, 문자열, pattern의 세 가지 형태의 자료에 대한 비교 연산자가 있다. 각각의 연산자는 다음과 같다.

 

 

 

 

 

3.5 조건부 실행 (if)

  if 구문을 사용한 조건부 실행은 프로그램의 작성에 가장 많이 사용하는 기능으로, 어떤 조건을 만족할 경우, 특정 명령어나 작업을 실행하고자 할 때 사용한다.

 

3.5.1 if 구문

  If 구문의 사용은 if ~ endif 로 끝나는 간단한 구문에서 if ~ else if ~ else if … endif로 끝나는 복잡한 구문까지 사용할 수 있다. 그리고 if 구문 안에서 또 if 구문을 사용하는 계층 구조도 사용할 수 있다.

 

 

 

3.5.2 File Inquiry Operator

  C Shell에서는 파일의 존재 유무나 특성을 Check 할 수 있는 기능을 제공한다. 이 기능과 if 구문을 조합하여 다양한 기능을 하는 프로그램을 작성할 수 있다.

 

  각 Operator의 의미는 다음과 같다.

 

  논리 부정을 사용할 때는 연산자 ! 를 앞의 operator와 함께 사용한다.

    if (! -e file_name) then

  

 

3.6 반복 실행 (foreach)

  일정 횟수로 어떤 구문을 반복 실행하고자 할 때 foreach ~ end 구문을 사용한다. foreach 구문에서 반복 횟수는 변수 list의 개수와 같다. 반면에 while 구문(다음에 설명)은 조건이 만족하는 한 while ~ end 사이의 구문을 반복한다.