Search
Duplicate
📒

[Linux CLI] 08-2. Shell 확장

상태
미진행
수업
Linux
주제
Linux CLI
4 more properties
참고

쉘 확장

NOTE
쉘에서 프로그램을 실행하기 직전에 사용자가 입력한 특수한 의미의 인자를 정해진 의미에 맞게 해석해 프로그램의 입력 또는 출력으로 전환해주는 것!

경로명 확장

NOTE
와일드카드가 의미 있는 글자가 경로나 경로 상의 파일로 확장되는걸 의미!
# 경로의 파일 중에서 영어 대문자로 시작하는 파일 출력 echo [[:upper:]]*
Bash
복사
문자 클래스
매칭 문자
[:alnum:]
모든 알파벳과 숫자
[:alpha:]
모든 알파벳
[:digit:]
모든 숫자
[:lower:]
소문자 알파벳
[:upper:]
대문자 알파벳

틸드 확장

NOTE
물결무늬(~)를 영어로 틸드라고 한다. → 홈 디렉토리를 의미함
echo ~
Bash
복사

산술 확장

NOTE
$((expression))으로 expression의 실제 값을 평가한다.
echo $((3+3)) # 6
Bash
복사
산술 확장은 정수만을 사용하기에, 소수점 연산을 할 수 없다.

중괄호 확장

NOTE
{ } 중괄호 안에 표현된 패턴과 일치하는 다양한 텍스트 문자열을 만들 수 있다.
echo {A,B,C,D} echo {A..Z} echo {..} echo {1..2}{1..5}
Bash
복사

매개변수 확장

NOTE
‘변수’를 사용해서 쉡 스크립트를 사용하는 것!
# 환경변수 echo $USER # 변수 answer=3 echo 정답은 $answer 입니다! echo 정답은 $((answer)) 입니다!
Bash
복사

확장 숨기기

큰따옴표

NOTE
코드를 “ ”로 감싸면 특정 확장을 무시한다!
echo "*" echo "$((3+4)) $(date)"
Bash
복사
*모든 파일 확장되지않음 산술, 명령어 치환은 확장됨
“ “매개변수, 산술, 명령어 치환에 대해서는 억제하지 않는다.
나머지는 모두 억제함!

작은따옴표

NOTE
‘ ‘는 모든 확장을 무시한다!
echo '*' echo '$((3+4)) $(date)'
Bash
복사
모두 확장되지 않고 출력됨

큰 따옴표 vs 작은 따옴표 비교

NOTE
확장명\ 따옴표
따옴표 없이
큰따옴표
작은따옴표
경로명 확장
O
X
X
틸드 확장
O
X
X
산술 확장
O
O
X
중괄호 확장
O
X
X
매개변수 확장
O
O
X
명령어 치환
O
O
X