Shell - 7.Input & Output

참고 강의 : TTABAE-LEARN


Contents

  • 7-1. echo
  • 7-2. read
  • 7-3. printf


7-1. echo

echo = prints text to standard output

  • echo <옵션> <메세지>
  • 옵션 ex)
  • -n : 메세지 출력 후, newline 문자 추가 X
  • -e : backslash escape 문자를 해석하여 특별한 의미 지정
    • \t : tab 키
    • \n : 줄바꿈
    • \a : alert


example

$ echo "Your time is up"
# 출력됨

$ echo "Your time is up" > time.txt
# 저장됨 

$ echo -n "Name : "
# 출력됨 & 줄바꿈 X

$ echo -e "First\tSecond"
# \t를 "\t"가 아니라, "tab키"로 인식함

$ score=100
$ echo score
# score
$ echo $score
# 100


7-2. read

read= read text from standard input

  • read <옵션> 변수명
  • 옵션 ex)
  • -n : 지정한 문자 수 만큼 입력 받음
  • -t : 지정된 시간 안에 입력 받음
  • -s : silent mode로 입력하는 글자 안보임
  • read 명령에서 변수 명 생략 시, 기본 REPLY 변수에 채워짐


example

$ read name
# 이제 입력하자 : seunghan

$ echo $name
seunghan

$ read name score
# 이제 입력하자 : seunghan 100

$ score
100 

$ read name score 
# 이제 입력하자 : seunghan 100 kim

$ score
100 kim


example 2)

$ read -t10 -n8 -s password
# -t10 : 10초안에 입력해야
# -n8 : 최대 8자리
# -s : secret 모드로 (입력하는거 안보임)


example 3)

$ echo -n "Name :" ; read name
# 한 줄에 여려 명령 with ;
your name : (입력하자)


7-3. printf

f = ‘format’ (서식)

  • printf format <메세지>
  • format 예시
    • %d ,%i : 숫자
    • %s : 문자열
    • %f 실수형 숫자


example

$ printf "Hello linux shell \n"
Hello linux shell # \n 없으면 줄바꿈 X

$ printf "Name : %s\t Score : %i\n" seunghan 100
# %s에 seunghan이 들어가고
# %i에 100이 들어감
# \t(tab) & \n(줄바꿈)도 이루어짐

$ today=`date + %Y%m%d`
$ echo $today
# nested command 
# 20220202

$ printf "date is %s\n" $today
Today is 20220202
 
$ printf "|%10s|%10s|%10.2f\n" ubuntu seunghan 77
|   ubuntu|   seunghan|      77.00

$ printf "|%-10s|%-10s|%10.2f\n" ubuntu seunghan 77
|ubuntu   |seunghan   |      77.00

Categories:

Updated: