Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

셸 스크립팅의 기본 연산자

<시간/>

프로그래머가 명령을 실행하고 운영 체제와 직접 상호 작용할 수 있는 인터페이스입니다. 쉘 스크립팅 쉘이 실행할 수 있는 명령을 제공합니다.

쉘에는 이러한 변수를 조작하는 데 사용되는 변수와 연산자도 있습니다. 쉘 스크립팅에는 5가지 기본 연산자가 있습니다.

  • 산술 연산자
  • 관계 연산자
  • 부울 연산자
  • 비트 연산자
  • 파일 테스트 연산자

산술 연산자

쉘 스크립팅의 산술 연산자는 일반적인 산술/수학적 연산을 수행하는 데 사용됩니다. 쉘 스크립팅에는 7개의 유효한 산술 연산자가 있습니다 -

  • 덧셈(+) 두 개의 피연산자(변수)를 추가하는 데 사용됩니다.

  • 빼기(-) 쉘 스크립팅에서 두 변수(피연산자)를 빼는 데 사용됩니다.

  • 곱하기(*) 쉘 스크립팅에서 두 변수(피연산자)를 곱하는 데 사용됩니다.

  • 나누기(/) 쉘 스크립팅에서 두 변수(피연산자)를 나누는 데 사용됩니다.

  • 계수(%) 쉘 스크립팅에서 피연산자의 나눗셈에서 나머지를 찾는 데 사용됩니다.

  • 증가 연산자(++) 연산자의 현재 값에 1을 더하는 데 사용됩니다.

  • 감소 연산자(--) 연산자의 현재 값에서 하나를 빼는 데 사용됩니다.

예시

쉘 스크립팅에서 산술 연산자의 구현을 보여주기 위해 -

a = 32
b = 23
   add = $((a + b))
   echo sum of a and b is $add
   sub = $((a - b))
   echo Subtraction of a and b is $sub
   mul = $((a * b))
   echo product of a and b is $mul
   div = $((a / b))
   echo division of a and b is $div
mod = $((a % b))
   echo remainder when a is divided b is $mod
((++a))
   echo Increment operator when applied on "a" results into a = $a
((--b))
echo Decrement operator when applied on "b" results into b = $b

출력

sum of a and b is 55
Subtraction of a and b is 9
product of a and b is 736
division of a and b is 1
remainder when a is divided b is 9
Increment operator when applied on a results into a = 33
Decrement operator when applied on b results into b = 24

관계 연산자

쉘 스크립팅의 관계 연산자는 피연산자 간의 관계를 정의합니다. 이들의 반환 값은 연산자와 피연산자에 따라 true 또는 false입니다. 쉘 스크립팅에는 6가지 유형의 유효한 관계 연산자가 있습니다 -

  • ==연산자 두 연산자의 값을 동일시하는 연산자입니다. 값이 같으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

  • !=연산자 는 두 연산자의 값을 동일시하고 부등식을 확인하는 연산자입니다. 값이 같지 않으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

  • <연산자 두 연산자의 값을 비교하는 보다 작음 연산자입니다. 첫 번째 피연산자의 값이 초보다 작으면 연산자는 true를 반환하고 그렇지 않으면 false를 반환합니다.

  • <=연산자 두 연산자의 값을 비교하는 작거나 같음 연산자입니다. 첫 번째 피연산자의 값이 초보다 작거나 같으면 연산자는 true를 반환하고 그렇지 않으면 false를 반환합니다.

  • >연산자 두 연산자의 값을 비교하는 보다 큼 연산자입니다. 첫 번째 피연산자의 값이 초보다 크면 연산자는 true를 반환하고 그렇지 않으면 false를 반환합니다.

  • >=연산자 두 연산자의 값을 비교하는 크거나 같음 연산자입니다. 첫 번째 피연산자의 값이 초보다 크거나 같으면 연산자는 true를 반환하고 그렇지 않으면 false를 반환합니다.

예시

a = 32
b = 67
if(( $a==$b ))
then
   echo a is equal to b.
else
   echo a is not equal to b.
fi
if(( $a!=$b ))
then
   echo a is not equal to b.
else
   echo a is equal to b.
fi
if(( $a<$b ))
then
   echo a is less than b.
else
   echo a is not less than b.
fi

if(( $a<=$b ))
then
   echo a is less than or equal to b.
else
   echo a is not less than or equal to b.
fi
if(( $a>$b ))
then
   echo a is greater than b.
else
   echo a is not greater than b.
fi
if(( $a>=$b ))
then
   echo a is greater than or equal to b.
else
   echo a is not greater than or equal to b.
fi

출력

a is not equal to b.
a is not equal to b.
a is less than b.
a is less than or equal to b.
a is not greater than b.
a is not greater than or equal to b.

부울 연산자

논리 연산자라고도 하는 부울 연산자는 셸 스크립팅에서 논리 연산을 수행하는 데 사용됩니다. 쉘 스크립팅에는 3가지 유형의 유효한 논리 연산자가 있습니다 -

  • 논리 AND(&&) 부울 값의 논리 AND를 계산합니다. 두 피연산자가 모두 true이면 true를 반환하고 그렇지 않으면 false를 반환합니다.

  • 논리적 OR(||) 부울 피연산자의 논리적 OR 연산을 계산합니다. 두 피연산자가 모두 거짓이면 거짓을 반환하고 그렇지 않으면 참을 반환합니다.

  • 논리적으로 같지 않음(!) 전달된 단일 연산자의 부정을 계산합니다. 피연산자의 값이 true이면 false를 반환하고 그렇지 않으면 true를 반환합니다.

예시

a = true
b = false
if(($a == "true" & $b == "true" ))
then
   echo Both are true.
else
   echo Both are not true.
fi
if(($a == "true" || $b == "true" ))
then
   echo Atleast one of them is true.
else
   echo None of them is true.
fi
if(( ! $a == "true" ))
then
   echo "a" was intially false.
else
   echo "a" was intially true.
fi

출력

Both are not true.
Atleast one of them is true
a was intially true.

비트 연산자는 비트 변수에 대해 비트 연산을 수행하는 연산자입니다. 쉘 스크립팅에는 6가지 유형의 비트 연산자가 있습니다 -

  • 비트 AND(&) 피연산자의 비트에 대해 이진 AND 연산을 수행하는 연산자입니다. 즉, 첫 번째 변수의 각 비트가 두 번째 연산자의 각 비트로 연산됩니다.

  • 비트 OR(|) 피연산자의 비트에 대해 이진 OR 연산을 수행하는 연산자입니다. 즉, 첫 번째 변수의 각 비트는 두 번째 연산자의 각 비트로 연산됩니다.

  • 비트별 XOR(^) 피연산자의 비트에 대해 이진 XOR 연산을 수행하는 연산자입니다. 즉, 첫 번째 변수의 각 비트는 두 번째 연산자의 각 비트로 연산됩니다.

  • 비트별 보수(~) 피연산자의 비트에 대해 이진 NOT 연산을 수행하는 연산자입니다. 즉, 첫 번째 변수의 각 비트는 두 번째 연산자의 각 비트로 연산됩니다.

  • 비트 단위 왼쪽 시프트(<<) 연산자의 오른쪽에 지정된 n번 피연산자의 비트를 왼쪽으로 이동하는 연산자입니다.

  • 비트 단위 왼쪽 시프트(>>) 연산자의 오른쪽에 지정된 n번 피연산자의 비트를 오른쪽으로 이동하는 연산자입니다.

예시

a = 14
b = 67
bitwiseAND=$(( a&b ))

echo Bitwise AND of a and b is $bitwiseAND
bitwiseOR=$(( a|b ))

echo Bitwise OR of a and b is $bitwiseOR
bitwiseXOR=$(( a^b ))

echo Bitwise XOR of a and b is $bitwiseXOR
bitiwiseComplement=$(( ~a ))

echo Bitwise Compliment of a is $bitiwiseComplement
leftshift=$(( a<<1 ))

echo Left Shift of a is $leftshift
rightshift=$(( b>>1 ))

echo Right Shift of b is $rightshift
입니다.

출력

Bitwise AND of a and b is 2
Bitwise OR of a and b is 79
Bitwise XOR of a and b is 77
Bitwise Compliment of a is -15
Left Shift of a is 28
Right Shift of b is 33

파일 테스트 연산자

파일 테스트 연산자는 파일의 특정 속성을 테스트하는 데 사용됩니다. 파일 테스트 연산자 중 일부는 다음과 같습니다.

  • -b 연산자 지정된 파일이 블록 특수 파일인지 확인하는 데 사용됩니다. 파일이 블록 특수 파일이면 함수는 true를 반환하고 그렇지 않으면 false를 반환합니다.

  • -연산자 주어진 파일의 크기를 확인하는 데 사용되는 연산자입니다. 파일 크기가 0보다 크면 true를 반환하고 그렇지 않으면 false를 반환합니다.

  • -r 연산자 파일 내용 읽기에 대한 접근 권한이 부여되었는지 여부를 확인하는 연산자입니다. 읽기 액세스가 허용되면 true, 그렇지 않으면 false를 반환합니다.

  • -w 연산자 파일에 쓰기 권한이 부여되었는지 여부를 확인하는 연산자입니다. 쓰기 권한이 부여되면 true, 그렇지 않으면 false를 반환합니다.

  • -x 연산자 파일 실행에 대한 접근 권한이 부여되었는지 여부를 확인하는 연산자입니다. 실행 액세스가 허용되면 true, 그렇지 않으면 false를 반환합니다.