0027. [ typeset ] ksh typeset 과 함수옵션
내용 |
옵션 |
동작설명 |
typeset -f |
모든함수들과 변수값들을 출력시킨다. 모든 함수정의들은 히스토리 파일에 저장되기 때문에 히스토리 파일이 있어야 한다. |
|
typeset +f |
함수이름들만 출력시킨다. |
|
typeset -fx |
별도의 Korn shell 이 아닌 현재 shell 의 스크립트로 export 될 모든 함수정의를 출력시킨다. |
|
typeset -fu |
func 는 아직 정의되지않은 함수의 이름이다 |
|
함수의자동로드 자동로드되는 함수는 참조가 되지 않는한 메모리에 로드 되지 않는다. 자동로드 기능을 사용하려면 ENV 파일에 FPATH 변수를 설정해야 한다. FPATH 변수는 함수 파일들을 포함하는 디렉토리를 검색하기 위해 찾는 경로를 갖는다. 디렉토리에 있는 모든 파일들은 정의된 함수와 같은 이름을 가지고 있어야 한다. typeset -fu 의 알리아스인 autoload 는 아직 정의되지 않은 함수를 자동로드 함수로 지정시킨다. 함수를 인자로 해서 autoload 코맨드를 실행시키고 나면 이 함수내에 있는 코맨드들은 실행시키기 위해 이함수를 참조해야만 한다. 자동 로드 함수의 장점은 성능이 좋아진다는 것에 있다. 왜냐하면 자동로드 함수가 참조되지 않으면 메모리에 로드되지 않기 때문이다. |
||
명령 $mkdir functionlibrary $cd functionlibrary $vi foobar function foobar { pwd ls whoami }
.profile export FPATH=$HOME/functionlibrary $autoload $foobar |
||
함수이름은 함수가 저장된 파일과 같은 이름을 가지고 있어야 하기 때문에 함수 파일과 직접링크를 시켜주어야 한다. |
||
$ln math square $ln math add $ln math divide $ls -li $autoload square; square |
'IT' 카테고리의 다른 글
0029. I/O 방향 재지정과 서브 Shell (0) | 2015.06.30 |
---|---|
0028. [ PS1 ] ksh 에서 PS1 설정하기 (0) | 2015.06.30 |
0026. [ bc ] bc scale 로 계산하기 (0) | 2015.06.30 |
0025. 함수 (0) | 2015.06.30 |
0024. export 된 함수 (0) | 2015.06.30 |