-
함수의 정의Technique/LPIC 2019. 10. 20. 13:54반응형
bash의 기본 커맨드에 있는 function 커맨드를 사용하면 bash 쉘 상의 이용 가능한 독자적인 함수를 정의할 수 있다.
빈번히 이요하는 커맨드의 조합을 지정해둔다면 편리하게 이용가능하다.
function 함수명() { 커맨드; }
[{]의 뒤부터 [}]의 앞에는 공백이 필요하므로 주의해야 한다.
아래의 예는 심볼릭 파일만 리스트를 표시하는 lslink 함수를 정의하고 있다.
function lslink() { ls -l | grep '^l'; }
인수 또한 사용할 수 있으므로 조금 더 편리하게 사용 가능하다. 첫 번째 인수는 $1로 나타낸다. 아래의 예에는 지정한 디렉터리 안에서만 링크 파일의 리스트를 출력하도록 하는 함수를 정의한다.
function lslink() { ls -l $1 | grep '^l'; }
함수를 실행하기 위해서는 커맨드를 실행하는 것과 같이 함수명을 입력한다. 함수가 이용 가능한 것은 그 함수를 정의한 쉘 내에서 만 가능하다. set 커맨드를 사용하면 정의되어 있는 함수가 변수 리스트에 뒤이어 리스트로 표기된다 여기서도 알 수 있듯이, bash에는 변수명과 함수명을 구별하지 않기 때문에, 이름이 중복되지 않도록 주의할 필요가 있다. 정의되어 있는 함수만 표시하기 위해서는 declare -f 커맨드를 사용한다.
함수 정의를 삭제하기 위해서는 변수를 삭제하는 것과 마찬가지로 unset 커맨드를 사용한다.
반응형'Technique > LPIC' 카테고리의 다른 글
쉘 스크립트 (0) 2019.10.20 bash의 설정 파일 (0) 2019.10.20 쉘 (0) 2019.10.14 환경변수와 쉘 변수 (0) 2019.10.14 파일의 검색 (0) 2019.08.15