프로그래밍/리눅스 프로그래밍

bash shell 키워드 의미

jinkwon.kim 2021. 8. 30. 18:14
728x90
반응형

ESC         csh     파일명 완성
RETURN    csh, sh 명령 실행
space       csh, sh 아규먼트 구분
TAB          csh, sh 아규먼트 구분
TAB          bash    파일명 완성
#             csh, sh 코멘트 시작점
`              csh, sh 명령 대치(backquotes)
”              sh      불완전 quote    $, `, \ 의 의미는 희석시키지 못함
”              csh     불완전 quote    $, `, ! 의 의미는 희석시키지 못함
‘              csh, sh 완전 quote      모든 문자의 의미 희석
\            csh, sh 한 문자를 quote
$var         csh, sh 변수
${var}      csh, sh $var와 같다.
$var:mod    csh     var를 편집자인 mod로 편집한다. => 나중에 다시 설명
${var-default} sh   var가 정의되어 있지 않으면 default를 사용한다.
${var=default} sh   var가 정의되어 있지 않으면 var를 defualt로 셋팅하고 그것을 사용한다.
${var+instead} sh   var가 정의되어 있으면 instead를 사용하고 그렇지 않으면 null 문자 사용.
${var?message} sh   var가 정의되어 있지 않으면 message를 프린트하고 만약
                               정의되어 있으면 그 값을 사용한다.
${var#pat}  ksh, bash   시작부분으로부터 삭제되는 최소 pat를 가지는 var의 값
${var##pat} ksh, bash   시작부분으로부터 삭제되는 최대 pat를 가지는 var의 값
${var%pat}  ksh, bash   끝부분으로부터 삭제되는 최소 pat를 가지는 var의 값
${var%%pat} ksh, bash   끝부분으로부터 삭제되는 최대 pat를 가지는 var의 값
|           csh, sh 표준 출력의 파이프
|&          csh     표준출력과 표준 에러의 파이프
^           sh(only)    파이프
^           csh,bash    이전 명령의 편집
&           csh, sh     프로그램을 백그라운드로 실행
?           csh, sh     한문자의 일치
*           csh, sh     0개 이상의 문자와의 일치
;           csh, sh     명령 구분자
;;          sh          case문의 끝표시
~user       csh, ksh, bash  user의 홈디렉토리
!           csh, bash   명령 히스토리
–           프로그램    아규먼트의 시작
–           프로그램    표준 입력을 읽는다(오직 몇몇 프로그램에서만)
$#          csh, sh     스크립트할 아규먼트의 갯수
“$@”        sh          스크립트할 오리지널 아규먼트
$*          csh, sh     스크립트할 아규먼트
$-          sh          shell에서의 플레그 셋
$?          sh          이전 명령의 상태
$$          csh, sh     프로세스 ID
$!          sh          최근 백그라운드 작업의 프로세스 번호
$<          csh         터미널로부터 입력을 받아 들인다.
cmd1 && cmd2    csh, sh cmd1이 정상적으로 실행되면 cmd2를 실행한다.
cmd1 || cmd2    csh, sh cmd1의 결과에 상관없이 cmd2를 실행한다.
$(..)       ksh, bash   명령 대치
((..))      ksh, bash   수치 연산(평가?(evaluation))
. file      sh          파일에 있는 내용을 현재의 쉘에서 실행
:           sh          아규먼트를 평가하는데 true를 되돌린다.
            예) while :
                do
                     ls
                done
       위의 명령은 sh에서 실행되면 무한정으로 ‘ls’명령을 실행한다.
:           sh          path들을 구분한다.
:           csh         변수 편집자
[]          csh, sh     문자의 일치 범위
[]          sh          시험.
%job        csh, ksh, bash  작업 번호
(cmd;cmd)   csh, sh     cmd;cmd 명령을 서브쉘에서 실행한다.
{}          csh, bash   In-Line 확장
{cmd;cmd}   sh          (cmd;cmd)와 같지만 서브쉘에서 실행되는건 아니다
>file       csh, sh     표준아웃을 파일에 리다이렉트
>>file      csh, sh     표준아웃을 파일에 append한다.
<file       csh, sh     파일을 표준입력으로 받아들인다.
<<word      csh, sh     word가 있는동안 그것을 읽어들여 명령을 실행하고
                        변수를 교체한다.
<<\word     csh, sh     위와 같지만 변수 교체는 이루어지지 않는다.
<<-word     sh          word를 읽어 들이지만 앞의 TAB은 무시한다.
>>! file    csh         noclobber가 설정되어 있고 파일이 존재하지 않아도
>! file     csh  파일로 출력을 보낸다. 물론 noclobber가 설정되어
   있거나 파일이 존재해도 무시하고 덮어쓴다.
>| file     ksh, bash   위와 같다.
>& file     csh         표준 출력과 표준 에러를 file로 리다이렉트
m> file     sh          출력 파일디스크립터 m을 file로 리다이렉트
m>> file    sh          출력파일디스크립터 m을 file로 append
m< file     sh          입력파일디스크립터 m을 file로 부터 리다이렉트
<&m         sh          파일 디스크립터 m으로부터 표준 입력을 가로챔
<&-         sh          표준 입력을 닫는다.
>&m         sh          파일디스크립터 m을 표준 출력으로 사용한다.
>&-         sh          표준 출력을 닫는다.
m<&n        sh          입력파일디스크립터 n을 파일디스크립터 m에 연결한다
m<&-        sh          입력 파일디스크립터 m을 닫는다
n>&m        sh          출력파일디스크립터 n을 파일디스크립터 m에 닫는다.
m>&-        sh          출력파일디스크립터 m을 닫는다.

728x90
반응형