Linux
                
              [bash] 쉘 스크립트로 사용자 입력 받기 (read 명령어 사용법)
                lim
                 2021. 3. 16. 23:00
              
              
                    
        반응형
    
    
    
  
지난 글에서는 쉘스크립트로 출력하는 방법에 대해서 다뤄보았다.
그렇다면 사용자 입력은 어떻게 받을까?
이번 글에서는 bash 쉘 스크립트에서 사용자 입력을 받는 방법에 대해서 살펴보자.
read
사용자로부터 입력을 받기 위해서는 read 명령어를 사용해서 입력받을 수 있다.
예제를 통해서 read 명령어를 통해서 사용자 입력을 받는 방법에 대해서 살펴보자.
사용자 입력을 받아서 출력
| 1 2 3 4 5 6 7 8 9 10 11 | #!/bin/bash echo "나이를 입력하세요" read age echo "당신의 나이는 $age 입니다." ## 출력 나이를 입력하세요 31 당신의 나이는 31 입니다. | cs | 
read로 사용자 입력을 받아서 age 변수에 저장한 후 이를 echo로 출력해주는 예제이다.
위 예제에서는 입력을 하나만 받았지만, 띄어쓰기 단위로 여러개의 입력을 받을 수도 있다.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/bin/bash echo "당신의 나이와 키를  입력하세요" read age height echo "당신의 나이는 $age 키는 $height 입니다." ## 출력 당신의 나이와 키를  입력하세요 31  181 당신의 나이는 31 키는 181 입니다. | cs | 
배열로 입력받기
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #!/bin/bash echo "생각나는 단어 여러개를 입력해보세요" read -a words for word in ${words[@]}; do   echo "${word}" done ## 출력 "생각나는 단어 여러개를 입력해보세요" robot tesla gazua shell robot tesla gazua shell | cs | 
만약 사용자 입력 갯수를 특정할 수 없다면 배열을 통해서 여러개의 입력을 받을 수 있다.
위 예제에서는 read에 -a 옵션을 주어서 배열형태로 값을 받아 words 변수에 저장한 예제이다.
사용자로부터 입력받은 4개의 단어를 for loop를 돌면서 출력해준다.
for loop에 대한 자세한 설명은 추후 글에서 정리하려고 한다.
반응형