shell options

정승균·2020년 12월 31일
0

리눅스

목록 보기
24/29
post-thumbnail

Ⅰ. set 계열


  • 다른 종류의 shell에서 공통적으로 사용하는 옵션들

  • set -o 로 확인 가능

1. hashall (-h)

  • 해시테이블 사용 여부. Default로 on

  • $ hash 명령어를 실행하면 쓰였던 명령어들이 나옴. 쉘은 이 명령어의 경로를 기억하고 다음에 실행할시 이를 참조함

jsg@jsg-ubuntu:~$ hash
hits	command
   5	/bin/bash
   1	/bin/chmod
   1	/bin/rm
  10	/bin/cat
  29	/usr/bin/vim
   3	/usr/bin/pkill
   1	/bin/ls
  • hash 관련 명령어
명령어설명
type cmd명령어의 경로를 보여줌. 해시테이블에 있다면 표시
hash해시 테이블 목록
hash cmd해시 테이블에 cmd 추가
hash -r해시 테이블 초기화
hash -p path cmdcmd 명령을 path 경로로 해시 테이블에 추가

2. braceexpand (-B)

  • brace expansion 기능 활성화. Default로 on
jsg@jsg-ubuntu:~$ set +B
jsg@jsg-ubuntu:~$ echo {a..g}
{a..g}
jsg@jsg-ubuntu:~$ set -B
jsg@jsg-ubuntu:~$ echo {a..g}
a b c d e f g

3. errexit (-e)

  • 에러시 exit

4. interactive (-i)

  • interactive 모드로 작동

  • 안 건들이는것이 좋음

5. monitor (-m)

  • job control 기능을 사용 (fg / bg)

6. histexpand (-H)

  • !number, !$, !! 사용 가능

7. noclobber (-C)

  • > 으로 덮어쓰기 금지

  • >| 로 강제로 덮어쓰기 가능

8. $-

  • 설정된 option 값을 보기
jsg@jsg-ubuntu:~$ echo $-
himBH

=> interactive shell이고 -h -m -B -H 옵션이 켜져있음


Ⅱ. shopt 계열


  • bash shell에서만 사용하는 옵션들
옵션설명
shopt전체 옵션 리스트
shopt -son 되어 있는 옵션 리스트
shopt -s option옵션 on
shopt -uoff 되어 있는 옵션 리스트
shopt -u option옵션 off
shopt -p option현재 옵션에 해당되는 명령어 출력
shopt -q option옵션의 on/off 여부를 exit code로 반환
shopt -o option

1. autocd

  • cd 명령어 생략가능
jsg@jsg-ubuntu:~$ shopt -s autocd
jsg@jsg-ubuntu:~$ /
cd /
jsg@jsg-ubuntu:/$ 

2. huponexit

  • interactive login shell 이 종료될때 모든 job에게 HUP 시그널을 보냄
  • systemd 도입 이후 알아서 관리해주기 때문에 이제는 쓰지 말아야 할 옵션

3. nocasematch

  • [[ conditon ]] 혹은 case 문 작성시에 대, 소문자 구분을 하지 않음
jsg@jsg-ubuntu:~$ [[ word == WORD ]] && echo match
jsg@jsg-ubuntu:~$ shopt -s nocasematch
jsg@jsg-ubuntu:~$ [[ word == WORD ]] && echo match
match

Ⅲ. PS1


  • 환경변수 TERM=xterm-256color 인 경우

  • $ PS1="\[\e[93m\][\D{%H:%M:%S}] \[\e[32m\] [\u@\h] \[\e[94m\]\w\[\e[m\] \$ " 와 같이 설정하면 PS1을 취향에 맞게 꾸밀 수 있음

0개의 댓글