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에 대한 자세한 설명은 추후 글에서 정리하려고 한다.
반응형