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