리눅스 분류
bash 쉘을 이용한 스크립트 만들기 #4
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 16,619 조회
- 0 추천
- 목록
본문
bash 쉘을 이용한 스크립트 만들기 #4
0. 개요
앞서 변수 지정, 출륙, 반복, 분기 등에 대해 알아보았다
이러반 부분만으로도 충분히 스크립트를 작성하고
원하는기능을 구현할수있다
하 지만 보다 쉽게 그리고 간편하게 하기위해서
리다이렉션와 파이프 그리고 함수에 대해 알아보도록하자
1. 리다이렉션
리다이렉션의 설명에 앞서 먼저 표준 입력과 표준 출력,에러에 대해
알아보자 기본적으로 표준 입력과 출력,에러 의 방향은 단반형으로 정해져있다
표준 입력의경우 입력 장치로 부터 프로세서로 전달 되는 방향이며
STDIN (Stanard Input)으로 표기된다
표준 출력의 경우 프로세서에서 출력 장치로 전달되는 방향이며
STDOUT (Standard Output)으로 표기된다
표준 에러의 경우 펴준 출력의 한방식 이며 에로 또는 경고발생시 이용되는 형태이다
STDERR (Standard Error)으로 표기된다
그 리고 리다이렉션이란 앞에서 설명한 표준 입력 , 출력 , 에려의 진행방향을
파일로 또는 표준 출력을 표준에러로 와 같이 진행방향을 변경하는것을 의미한다
몇 가지 예를 이용하여 알아보자
표준 출력을 파일로
#!/bin/bash
ls > test.log
표준에러를 표준출력으로 또는 파일로
#!/bin/bash
grep "http" /home/ -R 2>1
#!/bin/bash
grep "http" /home/ -R 2> test.log
표준 출력,에러 모두를 표준출력으로 또는 파일로
#!/bin/bash
grep "http" /home/ -R 2>&1
#!/bin/bash
grep "http" /home/ -R &> test.log
2. 파이프
파이프는 특정 프로그램의 출력을 입력으로 바꾸어 주는것을 말한다.
#!/bin/bash
ls -al | grep "*.log"
ls -al 의 결과 출력을 파이프롤 통해서 grep "*.log"의 입력으로 바꾸어준다.
3. 함수
논리 적인 흐름과 재귀적인 표현등을 위해 함수를 사용가능하다
함수의 사용볍은 function function_name { ..bash script.. } 의 형태로 가능하며
function_name을 호출하는것으로 함수의 호출이 가능하다
그리고 함수에 파라메터를 전달하기 위해서는 함수 호출시
function_name argv1 argv2 argv3 ... 과 같은 형태로 함수뒤에 파래메타를 입력하고
function function_name {
echo $1
echo $2
echo $3
....
}
위와같이 넘겨진 파라메터를 함수 내에서 사용가능하다
#!/bin/bash
function tests_1 {
echo "linux.co.kr"
}
function test_2 {
echo $1
}
test_1 # "linux.co.kr"이 출력된다
test_2 testargv1 # testargv1가 출력된다.
4. 마무리
오늘 알아본부분에서 함수는 그렇다하더라도
리다이렉션과 파이프는 실제 서버관리에서도 광장히 만히 쓰이고
명령어를 조함 할때도 많이 쓰인다
이부분들에대해서는 반드시 알고 넘어가야 할 부분이다.
0. 개요
앞서 변수 지정, 출륙, 반복, 분기 등에 대해 알아보았다
이러반 부분만으로도 충분히 스크립트를 작성하고
원하는기능을 구현할수있다
하 지만 보다 쉽게 그리고 간편하게 하기위해서
리다이렉션와 파이프 그리고 함수에 대해 알아보도록하자
1. 리다이렉션
리다이렉션의 설명에 앞서 먼저 표준 입력과 표준 출력,에러에 대해
알아보자 기본적으로 표준 입력과 출력,에러 의 방향은 단반형으로 정해져있다
표준 입력의경우 입력 장치로 부터 프로세서로 전달 되는 방향이며
STDIN (Stanard Input)으로 표기된다
표준 출력의 경우 프로세서에서 출력 장치로 전달되는 방향이며
STDOUT (Standard Output)으로 표기된다
표준 에러의 경우 펴준 출력의 한방식 이며 에로 또는 경고발생시 이용되는 형태이다
STDERR (Standard Error)으로 표기된다
그 리고 리다이렉션이란 앞에서 설명한 표준 입력 , 출력 , 에려의 진행방향을
파일로 또는 표준 출력을 표준에러로 와 같이 진행방향을 변경하는것을 의미한다
몇 가지 예를 이용하여 알아보자
표준 출력을 파일로
#!/bin/bash
ls > test.log
표준에러를 표준출력으로 또는 파일로
#!/bin/bash
grep "http" /home/ -R 2>1
#!/bin/bash
grep "http" /home/ -R 2> test.log
표준 출력,에러 모두를 표준출력으로 또는 파일로
#!/bin/bash
grep "http" /home/ -R 2>&1
#!/bin/bash
grep "http" /home/ -R &> test.log
2. 파이프
파이프는 특정 프로그램의 출력을 입력으로 바꾸어 주는것을 말한다.
#!/bin/bash
ls -al | grep "*.log"
ls -al 의 결과 출력을 파이프롤 통해서 grep "*.log"의 입력으로 바꾸어준다.
3. 함수
논리 적인 흐름과 재귀적인 표현등을 위해 함수를 사용가능하다
함수의 사용볍은 function function_name { ..bash script.. } 의 형태로 가능하며
function_name을 호출하는것으로 함수의 호출이 가능하다
그리고 함수에 파라메터를 전달하기 위해서는 함수 호출시
function_name argv1 argv2 argv3 ... 과 같은 형태로 함수뒤에 파래메타를 입력하고
function function_name {
echo $1
echo $2
echo $3
....
}
위와같이 넘겨진 파라메터를 함수 내에서 사용가능하다
#!/bin/bash
function tests_1 {
echo "linux.co.kr"
}
function test_2 {
echo $1
}
test_1 # "linux.co.kr"이 출력된다
test_2 testargv1 # testargv1가 출력된다.
4. 마무리
오늘 알아본부분에서 함수는 그렇다하더라도
리다이렉션과 파이프는 실제 서버관리에서도 광장히 만히 쓰이고
명령어를 조함 할때도 많이 쓰인다
이부분들에대해서는 반드시 알고 넘어가야 할 부분이다.
"무단배포금지: 클라우드포털(www.linux.co.kr)의 모든 강좌는 저작권에 의해 보호되는 콘텐츠입니다. 무단으로 복제하여 배포하는 행위는 금지되어 있습니다."
관련자료
-
이전
-
다음
댓글 0
등록된 댓글이 없습니다.