변수

 

쿼팅 (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"   : 하나의 문자열

 

+ Recent posts