Unix / Linux - Shell Builtin Mathematical Functions

안녕하세요, 미래의 프로그래머 여러분! 오늘 우리는 Unix/Linux 셸 내장 수학 함수의 세계로 흥미로운 여정을 떠납니다. 프로그래밍에 새로운 사람이라면 걱정 마세요 - 명확한 설명과 많은 예제를 통해 단계별로 안내해 드리겠습니다. 시작해 보겠습니다!

Unix / Linux - Builtin Functions

Shell 내장 함수는 무엇인가요?

수학 함수에 들어가기 전에, 셸 내장 함수가 무엇인지 이해해 보겠습니다. 이러한 함수는 셸 자체에 내장되어 있어 별도로 설치할 필요가 없습니다. 항상 손쉽게 사용할 수 있어 다양한 작업을 효율적으로 수행할 수 있습니다.

셸 스크립트에서 수학 함수를 사용하는 이유는 무엇인가요?

셸 스크립트에서 수학을 왜 필요할까요? 매월 예산을 계산하거나 데이터를 분석하는 스크립트를 작성하는 경우, 이러한 함수가 매우 유용합니다! 이를 통해 셸 스크립트 내에서 바로 계산을 수행할 수 있어 시간과 노력을 절약할 수 있습니다.

일반적인 Shell 내장 수학 함수

Unix/Linux 셸에서 가장 많이 사용되는 수학 함수를 탐구해 보겠습니다. 예제는 Bash 셸을 사용하여 설명하겠습니다.

1. 기본 산술 연산

Bash는 기본 산술 연산을 수행하는 여러 가지 방법을 제공합니다. 다음을 살펴보겠습니다:

a. expr 명령어 사용

#!/bin/bash
a=10
b=5
sum=$(expr $a + $b)
echo "The sum of $a and $b is: $sum"

이 스크립트는 다음과 같은 출력을 보여줍니다: The sum of 10 and 5 is: 15

여기서 expr는 표현식 $a + $b를 평가하고, 결과는 sum 변수에 저장됩니다.

b. 이중 괄호 (( )) 사용

#!/bin/bash
a=10
b=5
((sum = a + b))
echo "The sum of $a and $b is: $sum"

이 방법은 더 간결하고 일반적으로 간단한 산술 연산에 선호됩니다.

2. 더 복잡한 수학 연산

더 복잡한 계산을 위해서는 Bash가 제공하는 bc 명령어를 사용할 수 있습니다. bc는 내장된 함수가 아니지만, 일반적으로 사용 가능하고 매우 유용합니다.

#!/bin/bash
pi=$(echo "scale=2; 22/7" | bc)
echo "The value of pi (to 2 decimal places) is: $pi"

출력: The value of pi (to 2 decimal places) is: 3.14

여기서 scale=2는 소수점 이하 자리수를 설정하며, bc는 나누기를 수행합니다.

일반적으로 사용되는 수학 연산 표

여기서는 Bash에서 수행할 수 있는 일반적인 수학 연산을 정리한 표를 제공합니다:

연산 기호 예제
덧셈 + echo $((5 + 3))
뺄셈 - echo $((10 - 4))
곱셈 * echo $((6 * 7))
나눗셈 / echo $((20 / 5))
나머지 % echo $((17 % 3))
지수 ** echo $((2 ** 3))

고급 수학 함수

기본적인 내용을 다루고 나서, 더 고급된 수학 함수를 탐구해 보겠습니다. 이러한 함수는 Bash 자체에 내장되어 있지 않지만, bc 명령어를 통해 일반적으로 사용됩니다.

1. 제곱근

#!/bin/bash
number=16
sqrt=$(echo "scale=2; sqrt($number)" | bc)
echo "The square root of $number is: $sqrt"

출력: The square root of 16 is: 4.00

2. 사인과 余弦

#!/bin/bash
angle=30
sin=$(echo "scale=4; s($angle * 3.14159 / 180)" | bc -l)
cos=$(echo "scale=4; c($angle * 3.14159 / 180)" | bc -l)
echo "The sine of $angle degrees is: $sin"
echo "The cosine of $angle degrees is: $cos"

출력:

The sine of 30 degrees is: .4999
The cosine of 30 degrees is: .8660

bc 명령어의 -l 옵션은 삼각 함수를 위한 수학 라이브러리를 로드합니다.

실용적인 예제: 온도 변환기

새로운 지식을 실용적인 예제로 적용해 보겠습니다 - 온도 변환기!

#!/bin/bash

echo "Temperature Converter"
echo "1. Celsius to Fahrenheit"
echo "2. Fahrenheit to Celsius"
read -p "Enter your choice (1/2): " choice

case $choice in
1)
read -p "Enter temperature in Celsius: " celsius
fahrenheit=$(echo "scale=2; ($celsius * 9/5) + 32" | bc)
echo "$celsius°C is equal to $fahrenheit°F"
;;
2)
read -p "Enter temperature in Fahrenheit: " fahrenheit
celsius=$(echo "scale=2; ($fahrenheit - 32) * 5/9" | bc)
echo "$fahrenheit°F is equal to $celsius°C"
;;
*)
echo "Invalid choice"
;;
esac

이 스크립트는 실제 상황에서 수학 함수를 어떻게 사용할 수 있는지 보여줍니다. 사용자가 섭씨와 화씨 온도 간의 변환을 수행할 수 있습니다.

결론

축하합니다! 셸 스크립팅과 수학 함수의 세계로 첫 걸음을 뗐습니다. 연습이 완벽을 이루는 열쇠입니다. 이 함수들을 사용하여 자신만의 스크립트를 만들어 보세요 -也许는 계산기나 데이터 분석 스크립트가 될 수 있습니다.

프로그래밍의 여정을 계속하면서, 이 기본적인 수학 연산이 더 복잡한 계산의 기초가 될 것입니다. 탐구하고, 배우고, 가장 중요한 것은 즐기세요!

미래의 기술 마법사 여러분, 행복한 코딩 되세요! ??‍??‍?

Credits: Image by storyset