<In Story>

Shell Script - read 명령을 이용한 문자열 입력, 배열 저장 //[Unix] [Linux] [Script] [Programming] [Command] 본문

Programming/Script

Shell Script - read 명령을 이용한 문자열 입력, 배열 저장 //[Unix] [Linux] [Script] [Programming] [Command]

<In Story, Hi story, History> 2015. 6. 7. 12:58

http://blog.redjini.com/306?category=12


옵션

  • -n number : number 수만큼의 문자를 입력받음
  • -p string : 프로프트에 string 문자열 출력
  • -a        : 입력을 Array형태로 저장
  • -s        : 입력을 프로프트에 출력하지 않음
  • -d char   : 입력이 char 이면 read 명령을 종료함.

 shell script 내에서 문자열을 array에 저장하기

1
2
3
4
5
6
7
#!/bin/sh
 
VMSTATLOG=$(vmstat 1 2 | sed -e '1,3d')
read -ra ARRAY <<< "$VMSTATLOG"
echo "${ARRAY[@]}"
#  VMSTATLOG에 저장된 값을 ARRAY변수에 배열로 저장
#  구분자는 기본 공백, 구분자를 변경하려면 IFS 값을 설정하면됨.

참고 : [shell script] 배열(Array) 사용하기

shell script 내에서 문자열 입력받기

1
2
3
4
5
#!/bin/sh
 
read -n 1 -p "input [y/N]:"
echo "$REPLY"
#기본적으로 read는 입력값을 REPLY 변수에 저장함

1
2
3
4
5
#!/bin/sh
 
read -n 1 -p "input [y/N]:" yesno
echo "$yesno"
#입력값을 REPLY이 아닌 yesno 변수에 저장

1
2
3
4
5
6
7
#!/bin/sh
 
read  -p "input yes|no count :" yesno count
echo "$yesno"
echo "$count"
#입력값을 순차적으로 yesno, count에 저장
# 구분자는 기본 공백, 구분자를 변경하려면 IFS 값을 설정하면됨.