사용자 정의 함수
일반적으로 bash 함수는 bash
시작 스크립트 에 영구적으로 저장됩니다 .
- 시스템 전체 시작 스크립트 :
/etc/profile
로그인 쉘 및 /etc/bashrc
대화식 쉘.
- 사용자 정의 시작 스크립트 :
~/.bash_profile
로그인 쉘 및 ~/.bashrc
대화식 쉘.
- 대화식 / 로그인 셸에 대한 자세한 내용
man
은 INVOCATION 섹션 의 bash 페이지에서 찾을 수 있습니다 .
사용자 정의 셸 함수는 bash가 시작될 때 해시 (또는 조회 테이블)에 동적으로로드됩니다. bash 소스 파일 variable.c
에서 테이블에 대한 정의는 다음과 같습니다.
/* The list of shell functions that the user has created, or that came from
the environment. */
HASH_TABLE *shell_functions = (HASH_TABLE *)NULL;
bash declare
명령 으로 사용자 정의 함수를 나열 할 수 있으며 다른 쉘은 여전히을 사용 typeset
합니다. bash declare
에서 typeset
명령 을 대체했습니다 .
declare -f
이 함수는 bash 쉘의 수명 동안 메모리에 존재합니다.
쉘 정의 (내장) 함수
이 같은 일반적인 기능이다 echo
, printf
, cd
와 :
. 그것들은 bash
실행 파일에 연결된 라이브러리로 컴파일됩니다 . 실행 파일에 정의를 작성하면 외부 정의를로드하는 것과 비교하여 시간이 절약됩니다. 이러한 함수에 대한 정의 ( .def
C 소스로 구문 분석 된 소스 파일에 보유)는 builtins
bash 소스 디렉토리에 보관됩니다 .
유용한 기능 : 쉘 내장 명령 사용에 대한 정보 help <command>
. 예 :
help # list all builtins
help declare # info and options for declare
help -m declare # gives man style information for declare
cd is a shell builtin
. 쉘 매뉴얼 페이지를 살펴보십시오 (zsh?)