변수
쿼팅 (quoting)
따옴표로 문자열을 묶는 행위
▨ "" 와 '' 의 차이
명령어 치환
▨ 명령어 치환 → $()
#!/bin/bash
filename = $(date '+%Y-%m-%d')
touch "$filename"
$ echo "Today is $(date '+%Y-%m-%d')"
Today is 2024-04-09
위치 파라미터
$1, $2 → 커맨드 라인 인자의 값(위치 파라메터)
parameter.sh
#!/bin/bash
echo "\$0 = $0"
echo "\$1 = $1"
echo "\$2 = $2"
echo "\$3 = $3"
echo "\$4 = $4"
echo "\$5 = $5"
echo "\$# = $#" # 지정한 인자의 총 개수를 확인하는 방법 $#
▨ command line 에 인자 3개를 지정하여 실행
$ ./parameters.sh aaa bbb ccc
$0 = ./parameters.sh
$1 = aaa
$2 = bbb
$3 = ccc
$4 =
$5 =
$# = 3
▨ 와일드카드 * 사용
$ ls
drink2.txt homesize.sh parameters.sh score.csv
$ ./parameters.sh *
$0 = ./parameters.sh
$1 = drink2.txt
$2 = homesize.sh
$3 = parameters.sh
$4 = score.csv
$5 =
$# = 5
▨ 인자 전체 조회 → $@, $*
args.sh
#!/bin/bash
echo "\$@ = $@"
echo "\$* = $*"
실행
$ ./args.sh aaa bbb ccc "hello"
$@ = aaa bbb ccc hello
$* = aaa bbb ccc hello
- 출력이 같아 보이지만 사실상 아래와 같이 출력됨
$@ = "aaa" "bbb" "ccc" "hello" : 각 각의 문자열
$* = "aaa bbb ccc hello" : 하나의 문자열
'책 > 모두의 리눅스' 카테고리의 다른 글
[ 책 ] [ 모두의 리눅스 ] 16장 제어구조 for (0) | 2024.04.10 |
---|---|
[ 책 ] [ 모두의 리눅스 ] 16장 제어구조 if (0) | 2024.04.10 |
[ 책 ] [ 모두의리눅스 ] 15장 셸 스크립트 작성 (0) | 2024.04.07 |
[ 책 ] [ 모두의 리눅스 ] 14장 : awk (오크) : 패턴 검색 및 처리 (0) | 2024.04.06 |
[ 책 ] [ 모두의 리눅스 ] 14장 sed (Stream Editor) 명령어 (0) | 2024.04.06 |