출처 : https://effective-shell.com/part-6-advanced-techniques/understanding-shell-expansion/
Understanding Shell Expansion | Effective Shell
When you are working with the shell there are a number of techniques that you can use to take simple commands and make more useful. For example, if we wanted to create three files, we could run touch file1 file2 file3, or we could use 'brace expansion' and
effective-shell.com
리눅스는 명령을 수행하기 위해 사용자가 입력한 문자열을 해석한다. 이때 쉘 확장이란 걸 하는데, 쉘 확장에는 어떤 종류가 있는지 알아보자.
1. Brace Expansion
중괄호를 사용하여 주어진 범위의 패턴을 생성한다.




처음과 끝 숫자를 준 뒤, 증가값을 줄 수도 있다.
for x in {0..10..2}
do
echo $x
done
/* test.sh */

2. Tilde Expansion
~를 $HOME으로 확장한다.

3. Parameter Expansion
$변수 또는 ${변수}를 사용하여, 변수나 파라미터의 이름을 그 값으로 치환한다.

문자가 섞이지 않도록 ${}를 써서 parameter expansion라는 걸 명시해야할 때가 있다.

4. Command Substitution
$(명령어)나 `명령어`를 사용하여 명령어를 수행한다. 실행되면 해당 부분은 명령 수행 결과(출력)로 치환된다.
안에 있는 명령어는 subshell에서 실행된다. subshell은 지금 셸의 상태를 복사하여 만든 새로운 셸을 말한다.
$() 표현을 권장한다.


5. Arithmetic Expansion
$((수식))을 사용하여, 해당 부분을 안에 있는 수식을 계산한 결과값으로 치환한다.

6. Pathname Expansion
*, [], ?를 사용하여 존재하는 파일 중 패턴과 일치하는 걸 찾는다.
글로빙이라고도 부른다.
* : 모든 문자, 길이상관없음


[] : 범위내에서 한글자 일치



? : 모든 문자, 한글자 일치

'개발' 카테고리의 다른 글
| 오라클은 빈문자열을 지원하지 않는다. (0) | 2025.09.26 |
|---|---|
| [리눅스] find -size 옵션 쓸 때 주의할 점 (0) | 2025.04.07 |
| 리눅스 독학 사이트 (0) | 2025.02.24 |
| Virtual Box 설치 - 드라이버 자동으로 안 깔릴 때 해결 방법 (0) | 2025.02.03 |
| 로그인 인증 방식 - 세션, 쿠키, 토큰 특징 (0) | 2025.01.27 |