리눅스 set
IT위키
더 많은 작업
- 셸 변수와 셸 옵션을 보여 주거나 바꾸는 bash 내장 명령
- 경로 : bash 내장 명령 (type set 으로 확인)
인자 없이 set 만 실행하면 현재 셸에 선언된 모든 변수(셸 변수와 환경 변수)와 함수를 이름 순으로 출력한다. 선언된 셸 변수를 확인할 때 쓰는 명령이 바로 이것이다. 옵션을 주면 셸의 동작 방식을 켜고 끄고, 인자를 주면 위치 매개변수($1, $2 …)를 다시 정한다.
$ set # 모든 셸 변수·함수 출력 $ set -o # 셸 옵션의 켜짐/꺼짐 목록 $ set -o 옵션이름 # 옵션 켜기 (set +o 옵션이름 은 끄기) $ set -- 값1 값2 ... # 위치 매개변수를 다시 정한다
| 짧은 옵션 | -o 이름 | 뜻 |
|---|---|---|
| -e | errexit | 명령이 실패(0 이 아닌 종료 코드)하면 스크립트를 바로 끝낸다 |
| -u | nounset | 선언하지 않은 변수를 쓰면 오류로 본다 |
| -x | xtrace | 실행하는 명령을 앞에 + 를 붙여 출력한다(디버깅) |
| -C | noclobber | 리다이렉션 > 가 기존 파일을 덮어쓰지 못하게 한다 → 리눅스 리다이렉션 |
| vi / emacs | 명령행 편집 방식을 vi 식 / emacs 식으로 바꾼다 | |
| ignoreeof | Ctrl+D 로 셸이 끝나지 않게 한다 |
-는 켜기,+는 끄기다.set -x로 켜고set +x로 끈다
$ NAME=itwiki # 셸 변수 선언 $ set | grep ^NAME= # set 에는 나온다 NAME=itwiki $ env | grep ^NAME= # env 에는 나오지 않는다 $ export NAME # 환경 변수로 바꾸면 $ env | grep ^NAME= # env 에도 나온다 NAME=itwiki $ set -- a b c # 위치 매개변수 다시 정하기 $ echo $2 b