Input / Output 처리방법
echo
echo 명령은 입력한 텍스트를 출력시켜주는 명령어입니다.
사용예시
$ echo <옵션> <텍스트>
echo의 옵션 종류에는 아래를 참고해주세요
종류 | 의미 |
-n | 메세지 출력후 새로운 행 추가 x |
-e | escape 문자를 해석하여 특별한 의미를 지정한다. |
-n 옵션
아래 명령을 통해서 -n옵션의 차이를 확인해 봅시다.
$ echo "hostname :"
echo 명령으로 문자를 출력하면 자동으로 줄바꿈이 일어 납니다. 이때 줄바꿈을 없애는 옵션으로 -n을 사용할 수 있습니다.
$ echo -n "hostname :"
이전과 다르게 줄바꿈이 일어나지 않고 바로 한줄로 진행되는 것을 볼 수 있습니다.
-e 옵션
아래 명령을 통해서 -n 옵션의 차이를 확인해 봅시다.
$ echo -e "User\tName :"
\t 은 TAB을 의미 합니다. 위 명령에서 보셨듯 괄호안의 \t(Escape 문자)를 해석해주게 됩니다.
다른 Escape 문자가 여러 개 있겠지만 대표적인 것을 몇 개만 알아봅시다.
\n 은 줄바꿈을 의미 합니다.
\a 은 Alert(경보)를 의미 합니다. 삽입후 실행했을 경우 알림소리가 들리게 됩니다.
read
read 명령은 텍스트를 입력받는 명령어입니다.
사용예시
$ read <옵션> 변수명
* 만약 변수명이 2개 이상이라면 어떻게 될까요? a1,a2라는 변수 두 개를 받아 봅시다.
변수를 2개 이상 받게 되면 공백으로 구분하게 되는데요 first라는 내용이 a1에 들어가게 되고
공백 뒤 문자열은 a2에 들어가게됩니다. 간단히 변수와 문자열의 1대1 매치가 되는 조건입니다.
만약 문자열 개수가 변수보다 많다면 어떻게 될까요?
a1에는 그대로 1이 들어가게 되지만 a2에는 2와 3이 들어가게 됩니다.
read 옵션 종류에는 아래를 참고해주세요
종류 | 의미 |
-n | 지정한 문자 개수 만큼 입력 받는다. (ex : n5 | 5개) |
-t | 지정된 시간안에 입력 받는다. (ex: t5 | 5초) |
-s | Silent mode로 입력하는 글자가 보이지 않는다. |
-n 옵션
$ read -n5 name
명령어를 입력하게 되면 5자리를 입력할 시 빠져나오게 됩니다.
그리고 그 내용은 name이라는 변수에 저장됩니다.
-t 옵션
$ read -t5 name
위 명령어를 실행하게 되면 5초동안 입력이 가능하고
시간이 지나면 자동으로 빠져나오게 됩니다.
-s 옵션
대표적으로 사용하는 방식이 Password를 입력받을 때 사용하게 됩니다.
$ read -n4 -s PW
위 명령어를 실행했을 때 비밀번호입력하는 것처럼 내용이 비공개 되고
4자리를 입력하게 되면 PW변수에 저장되게 됩니다.그리고 그 저장된 PW변수를 확인하면
1234 입력한 비밀번호를 알 수 있습니다.
printf
특정 format에 맞춰 텍스트 출력하는 명령어, C언어의 printf 함수와 동일함
사용예시
$ printf <텍스트>
format의 종류
종류 | 의미 |
%d 또는 %i | 숫자 |
%s | 문자열 |
%f | 실수형 숫자 |
간단히 예시로 알 수 있습니다.
이런식으로 입력값을 받아서 출력할 수 있습니다.하나씩 해석해 보겠습니다.
먼저 %10s 10자리수의 문자열을 오른쪽부터 입력받겠다. 출력 값 확인하면 오른쪽부터 채워진 것을 알 수 있습니다.
%-5s 5자리수의 문자열을 왼쪽부터 입력받겠다. 출력 값을 확인해보면 왼쪽부터 5칸 채워진 것을 알 수 있습니다.
%5.2f 5자리수의 실수 소수점 2번째 자리까지 입력받겠다.
출력 값 처럼 77.7을 입력 받았지만 77.70으로 소수 점 두 번째 자리까지 출력되는 것을 볼 수 있습니다.
리눅스의 모든 것을 배울 때까지 공부해봅시다. |

'Linux > Shell Programming' 카테고리의 다른 글
08.[Linux] 쉘(shell) Looping (0) | 2023.02.20 |
---|---|
07.[Linux] 쉘(shell) Branching Command (0) | 2023.02.06 |
05.[Linux] 쉘(shell) Positional Parameters 란? (1) | 2023.01.31 |
04.[Linux] 쉘(shell) Script 란? (0) | 2023.01.20 |
03.[Linux] 쉘(shell)과 Rules 2 (0) | 2023.01.19 |