내용

  • 변수는 스크립트의 동작을 위해 필요한 데이터를 저장하거나 읽어오거나 조작할 수 있는 메모리상 저장 공간입니다.

  • 사용하는 형식은 VAR=value이며 공백을 허용하지 않는다.

  • 보통은 변수 이름은 대문자로 표기한다.

  • var.sh

#!/bin/bash
MSG="Hello World"
echo $MSG
#!/bin/sh
 
# 변수값 초기화
name="Kim Shin Keon"
 
# 변수값 출력
 
echo "\${name} = ${name}"
 
# 스트링의 길이를 출력한다.
 
echo "lenth=${#name}"
 
# ${name:offset}
# 변수의 특정 오프셋 이후 반환
 
echo "offset=${name:5}"
 
# ${name:offset:length}
# 변수의 특정 오프셋 이후 특정 길이만큼 반환
 
echo "offset=${name:5:4}"
 
# ${name:+value}
# name 변수 값이 null 아니면 value를 반환하지만 변수에 할당하지는 않는다.
 
echo "\${name}=${name:+Hello}"
echo "\${name}=${name}"
 
 
# ${name:-value}
# name 변수 값이 null이면 value를 반환한다. 그렇지 않으면 원래 값을 반환한다.
 
echo "\${name}=${name:-123456}"
echo "\${name}=${name2:-123456}"
 
# ${name:?value}
# name 변수 값이 null이 아니면 name을 출력하고, null이면 value 출력 후 오류를 발생시킨다.
 
echo "name3=${name3:?ERROR!!!}"
 
  • 변수 NAME에 francis 를 설정하고 아래의 my-name-is.sh 를 실행하는 방식을 다르게 해보자.

my-name-is.sh

#!/bin/bash
echo My Name is $NAME.
$NAME=francis
bash my-name-is.sh
My Name is.
$ . my-name-is.sh
My Name is francis.

연관 페이지

참고 문헌 / 사이트