-
[따배쉘] 7.Input & OutputLinux 2022. 9. 5. 04:15
옮
---
---
프로그램을 하다보면 메시지를 출력해야하고 입력을 받아야 하는 경우가 있다
그때 사용하는 Input처리 Output 처리방법에 대한 강의
---
1.echo
2.read
3.printf
---
prints text -> standard output
화면에다 문자열을 출력
---
-n는 마지막 자동으로 줄바꿔주는 개행문자를 취소하세요
▽마지막 자동으로 줄바꿔주는애가 항상 들어가는구나!
---
-e는 escapes character를 활성화 시켜주고 싶을 때
\a는 알람소리
---
예)echo 자동으로 줄바꿈이 일어난다
그거 취소
---
이스케이프 문자 해석해줘
\a저거 삑 하고 울려
---
echo는 변수 내용 출력할 때도 쓴다 ▽뭐 들어있나 볼 때겠지
---
echo로 출력했으면
read로 입력받을 수 있어
입력을 받으려면 어디다 가 필요하겠지 변수명을 넣어준다
변수명이 n개면 n개 입력받는다
-t10은 10초까지 입력 대기 하는 것
-n8하면 앞에 8글자만 받아
-s 글자 안찍히게 하는 것, 비밀번호 입력받을 때 쓴다
---
아까 썼던 score인데 또 쓰면 overwrite된다
아무것도 안일어나는데 score변수에 들어갈 데이터를 기다리고 있는 것
---
2개는 블랭크 기준
2개 하고 3개 넣으면?
첫번째 블랭크 이후는 다 두번째 변수로 본다
▽변수 개수 - 1 반복하는 코드를 짰나
---
다섯글자 받자마자 끝나
---
echo read 조합
이러면 변수에 저장하는 것, 있어보인다
echo와 read만 있으면 쉘 프로그래밍에서 대화식 처리를 만들 수 있다
---
printf
얜 포맷을 지원해준다, C언어랑 비슷. 출력을 내가 연출하고 싶을 때
10글자 칸에 맞춰서 출력해줘
오른쪽 정렬 해줘
소숫점 이하
..
---
%5d 하면 5칸에 맞춰 숫자 출력
---
printf는 기본적으로 이스케이프 문자를 해석한다
---
기본 줄바꿈이 이뤄지지 않아!!
---
▽%해놓고 들어갈 데이터를 뒤에 집어넣는다
---
변수 출력
---
문자열 정렬 방향을 정할 수 있다
%10s : 10글자 칸에 맞춰서 출력해주세요
%10.2f : 소수점 둘째자리까지
마지막 | 넣어도 되고 안 넣어도 되고
대시 넣으면 왼쪽 정렬
---
예제)
이번엔 cat > 이 아니라 vi 에디터로 하신다
shift + insert키로 붙여넣기 하신다
파워포인트에서 복사해왔는데 파워포인트 " 는 저기 " 랑 달라서 바꿔줌
chmod +x input-exam.sh해주고
./input-exam.sh
아까랑 똑같은건데 대화식이 됐다
---
짜보세요
---
댓글에 답
#!/bin/bash today=`date +%y%m%d-%H%M%S` input_dirname () { echo -n "디렉토리 이름을 입력해 주세요 : " read dirname } output_dirname () { ls $dirname > /tmp/$today } input_dirname while [ ! -d $dirname ]; do printf "없는 디렉토리입니다. 다시 입력해주세요\n\n" input_dirname done output_dirname
'Linux' 카테고리의 다른 글
[따배쉘] 6.Positional Parameters (0) 2022.09.05 [따배리] 4.Wildcard, 다중 명령어 처리, 텍스트 파일 내용 보기 (0) 2022.09.03 [따배리] 3.vi editor (0) 2022.09.02 [따배리] 2.man, ls, mkdir, rmdir, cd, cp, mv, rm (0) 2022.08.29 [따배리] 1.디렉토리들 (0) 2022.08.28