2개의 숫자를 명령줄 인수로 사용하는 Bash 스크립트를 만듭니다. 화면에 있는 두 숫자 중 더 큰 숫자를 인쇄합니다.

2개의 숫자를 명령줄 인수로 사용하는 Bash 스크립트를 만듭니다. 화면에 있는 두 숫자 중 더 큰 숫자를 인쇄합니다.

어떤 명령을 사용해야 합니까? 이중 괄호를 사용해야 합니까? 이 두 숫자로 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])?

관련 정보