코딩/Linux

[Linux] 작업제어 연산자, 쉘변수

낫띵온미 2022. 10. 18. 17:42

 

※ Linux Fundamentals 교재를 참고하였습니다!

 

작업제어 연산자

  • 다수의 명령을 처리하는 연산자
 ;  명령을 왼편 -> 오른편의 순서로 차례로 수행
 & 명령을 백그라운드로 실행
종료할 때까지 기다리지 않고 쉘이 다음 명령 대기
    [1] 20220 와 같이 job number와 CPU번호 표시
$? 이전 명령의 종료코드 반환 (성공=0, 실패!=0)
&& AND
왼편이 성공적으로 종료하면 오른편 실행
||  OR
왼편이 실패할때만 오픈편 실행
# 주석
\ escape 문자
~ \ 명령행의 끝에 위치하면 명령행이 다음 행으로 이어짐을 의미

쉘 변수

  • $를 사용
  • 대소문자 구분
  • 쌍따옴표 스트링은 쉘이 해석
  • set : 모든 변수의 값 확인
  • unset : 변수 삭제

 

주요 변수

$HOSTNAME 호스트 컴퓨터의 이름
$USER 현재 사용자의 이름
$UID 현재 사용자의 식별아이디
$SHELL 현재 사용중인 쉘
$HOME 현재 사용자의 홈디렉토리
$PS1 쉘 프롬프트 형태 지정
$PATH 쉘 명령에 해당하는 프로그램을 찾는 디렉토리의 순서
    경로 : 경로 : 경로 : 경로

 

변수사용

  • ${변수명} : 명확하게 구분
  • 정의되지 않은 변수는 아무것도 출력하지 않음
  • set -u : 에러메시지 출력

 

쉘과 변수사용

  • 주어진 변수를 자식 쉘에 전달
bash   새로운 자식 쉘 생성
  -c 새로운 쉘에서 command 실행 후 복귀
exit   상위 쉘

 

export   주어진 변수를 자식 쉘에 전달
  -c command 실행 후 복귀
env   인자가 없으면 export된 변수들을 보여줌
  -i export 모두 취소

 

쉘 임베딩

  • 명령행에서 새로운 쉘 실행
  • $( )
    • $var1=one; $echo $var1
    • $echo $(var1=5; echo $var1) => 5
    • $echo $var1 => one
  •  ` (백틱) : 백틱으로 묶인 string은 new shell 안에서 실행

 

이전 쉘 명령

!! 직전명령 다시 실행
history 사용한 명령 표시