리눅스 Bash Shell 스크립트 정리 - 2

박경현·2023년 6월 19일
0

Redirection


표준 입력 채널, 표준 출력 채널, 표준 에러 채널을 Bash는 숫자로 관리! 0,1,2

id seangmi.lee
id

mailx -s “TEST MAIL” seongmi.lee@localhost
이러면 maix는 이메일 내용에 대한 입력을 기다림!
Hello seongmi … command +d 하면 종료 + 전송됨!

file로도 표준 입력으로 바꾸기 가능!

echo “this is a sample main bye” > message.txt
cat message.txt 에는 이메일 내용이 들어감!
mailx -s “SAMPLE MAIL” seongmi.lee@localhost 0< message.txt
이러면 키보드로 메일 내용을 입력받는게 아닌 파일로 입력을 받음!!

su - seongmi.lee 계정 바꿈
mailx -> 이러면 나한테 온 메일 확인 가능!
그 다음 메일 번호 치면 안에 내용 볼수 있다!!

-> 미리 공지를 만들어서 전달할때 편리!!

리다이렉션에서 0,1은 생략이 가능!

date > file.txt이렇게 하면 file.txt에 들어감!, 새로만들어지거나 덮어쓰기 됨
date 444 2> file.txt 이렇게 하면 file.txt에 에러메시지가 들어감!
cat file.txt하면 보기 가능

date >> date.out 하면 >> 시 누적되서 적힘!!!

Pipeline

cammand1 | cammand2 | command3 이렇게 command1의 결과를 2의 입력으로 넣어줌!
ls -l | wc -l => 전체 파일 개수를 알려줌!!
ls -l | more -> 한페이지씩 보여주기!

Bash Shell Script

리눅스 command들을 모아놓은 아스키 텍스트 파일

ex) ls 
	vi test.sh
		echo “=======“
		date +%Y-%m-%d
		df -h (파일 시스템 별 디스크 사용량을 점검하는 명령어)
	cat test.sh -> 위에 내용 그대로 나옴!!
	이런게 쉘 스크립트임!!

반드시 실행 퍼미션이 있어야 동작이 가능!!
ls -l test.sh 했을때

'#' 으로 시작하는 라인은 주석!
!/bin/bash를 넣어주면 스크립트 실행할 sub shell을 지정, 즉 여기서 실행해라!
탑 다운 방식으로 실행됨
기본적으로 /bin/bash 하면 서브 쉘이 실행됨!!

profile
SW로 문제를 해결하려는 열정만 있는 대학생

0개의 댓글