ABOUT ME

바른소나무의 IT 콘텐츠, IT자격증, IT기술 정보 공유 티스토리.

Today
Yesterday
Total
  • Shell Script 로또번호 랜덤 추출 스크립트
    Programming and Database/Shell Script 2024. 6. 19. 01:00
    728x90
    반응형

    BASH Shell 이미지

    Shell Script 로또번호 랜덤 추출 스크립트

    [root@lotto /opt]# vi lotto.sh
    -rw-r--r-- 1 root root 438 Jun 18 09:28 lotto.sh
    
    [root@lotto /opt]# chmod 775 lotto.sh
    ▶ 리눅스 서버에 vi 편집기를 통해서 lotto.sh 파일을 생성 후 775 권한을 부여합니다.
    #!/bin/bash
    
    ## 로또 번호 생성 함수
    generate_lotto_numbers() {
        ## 로또 번호를 저장할 배열
        local lotto_numbers=()
    
        ## 1에서 45 사이의 숫자를 무작위로 선택하여 배열에 추가
        while [ ${#lotto_numbers[@]} -lt 6 ]; do
            local num=$((RANDOM % 45 + 1))
    
            ## 중복된 숫자가 있는지 확인
            if [[ ! " ${lotto_numbers[@]} " =~ " ${num} " ]]; then
                lotto_numbers+=("$num")
            fi
        done
    
        ## 배열을 오름차순으로 정렬하여 출력
        IFS=$'\n' sorted=($(sort -n <<<"${lotto_numbers[*]}"))
        unset IFS
    
        echo "생성된 로또 번호: ${sorted[*]}"
    }
    
    ## 로또 번호 생성 함수 호출
    generate_lotto_numbers
    ▶ generate_lotto_numbers 함수에서 로또 번호를 저장할 배열을 선언 후 while 루프를 사용하여 1에서 45 사이의 숫자를 무작위로 선택하고 배열에 추가합니다. 이때 중복된 숫자는 배열에 추가되지 않도록 확인합니다.

    무작위로 선택된 6개의 숫자를 오름차순으로 정렬하여 출력합니다. generate_lotto_numbers 함수를 호출하여 로또 번호를 생성합니다. 스크립트를 저장하고 실행 권한을 부여한 후 실행하면 로또 번호가 생성됩니다.
    [root@lotto /opt]# sh lotto.sh
    생 성 된 로 또 번 호 : 12 19 20 34 39 43
    [root@lotto /opt]# sh lotto.sh
    생 성 된 로 또 번 호 : 3 10 14 20 31 45
    [root@lotto /opt]# sh lotto.sh
    생 성 된 로 또 번 호 : 8 18 28 32 33 35
    [root@lotto /opt]# sh lotto.sh
    생 성 된 로 또 번 호 : 1 5 6 12 28 35
    [root@lotto /opt]# sh lotto.sh
    생 성 된 로 또 번 호 : 1 2 6 23 32 43
    ▶ 작성된 lotto.sh 스크립트 실행을 5번 실행 후 난수로 생성된 랜덤 숫자가 출력되는 것을 확인할 수 있습니다.

     

    PS. 포스팅의 내용은 제 기준으로 작성한 것이기 때문에 참고해서 보시면 감사하겠습니다.

    포스팅 과정의 오류 및 오타 그리고 궁금한 점에 대해서는 댓글 남겨주세요.

    728x90
    반응형

    댓글

Designed by Tistory.