-
Shell Script 로또번호 랜덤 추출 스크립트Programming and Database/Shell Script 2024. 6. 19. 01:00728x90반응형
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반응형