리눅스 환경변수 echo$!, $?, $$ 및 특수문자 &, &&, ||, {}, $? 명령어 사용 방법



리눅스에서 잘 보기 힘든 명령어들이나 특수문자가들어간 명령어에 대하여 정리해보았습니다. 추가적인 내용은 zetawiki에 잘 정리되어 있습니다.

명령어 사용 예시 설명
$! echo $! 백그라운드에서 가장 마지막에 실행된 프로세스(명령어)의 PID 값을 출력
$? echo $? 가장 마지막에 종료된 프로세스(명령어)의 종료 상태(정상 0, 이외에는 조건에 따라 다른 return) 출력
$$ echo $$ 사용하고 있는 Shell의 PID값을 출력한다. 현재 bash 쉘의 프로세스 ID
&& mkdir a && chmod 444 앞의 명령어가 성공하면 다음 명령어를 실행
|| mkdir a || mkdir b 명령어1이 실패하면 명령어2를 실행
& find a & echo ‘wait’ 명령어1을 백그라운드로 실행하고 명령어2를 실행
; mkdir a ; mkdir b ; mkdir c 여러 명령어를 한 줄에서 순서대로 수행할 수 있음
{} {find a & echo ‘wait’} && echo ‘success’ 명령을 그룹화하여 순서를 지정할 수 있음
$? echo $? bash 쉘에서 최근 실행한 명령어의 종료 스테이터스를 가진 변수. 정상이면 0, 비정상이면 127과 같은 숫자 출력

출처

  • https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%ED%99%98%EA%B2%BD%EB%B3%80%EC%88%98
  • https://specialmylife.tistory.com/entry/%EB%AA%85%EB%A0%B9%EC%96%B4
  • https://cnkgh.tistory.com/entry/echoecho