어떤 명령을 사용해야 합니까? 이중 괄호를 사용해야 합니까? 이 두 숫자로 40 + 30을 사용하면 어떻게 출력되어야 합니까? 이제 막 시작했는데 도움이 필요합니다.
답변1
산술 평가를 사용할 수 있도록 bash를 언급하셨습니다( man bash
산술 평가 참조 및 검색).
예시 스크립트:
#!/bin/bash
a=$1
b=$2
if (( a > b )); then
printf '%d\n' "$a"
else
printf '%d\n' "$b"
fi
입력 내용을 확인하는 것을 잊지 마세요! 예:
if [[ ! "$1" =~ ^[[:digit:]]+$ ]] ||
[[ ! "$2" =~ ^[[:digit:]]+$ ]]
then
echo 'One of the arguments is not a number' >&2
exit 1
fi
답변2
echo $(($1 > $2 ? $1 : $2))
하지만 거기에 오류 검사를 추가하고 싶을 수도 있습니다. 예를 들어:
- 매개변수 개수(
$#
)가 정확합니까? - 인수가 올바른 형식의 정수입니까
?(-)+([0-9])
?