Passion/bash

Parameter substitution

sunshout 2013. 4. 18. 00:53

¡  존재하지 않을 때 default 값을 설정 -, :-

포맷: ${parameter-default}

설명: $parameter 변수가 존재하지 않을 때 default 변수로 변경

 

[root@openxen scripts]# cat test.sh

#!/bin/bash

 

var1=1   #var1변수를 선언

var2=2   #var2 변수를 선언

 

echo ${var1-$var2} #var1 변수가 존재하기 때문에 var1 출력 (1)

echo ${var3-$var2} #var3 변수가 존재하지 않기 때문에 default 지정한var2 출력(2)

 

echo ${username-'whoami'} #username 존재하지 않기 때문에 whoami 출력

[root@openxen scripts]# ./test.sh

1

2

Whoami

 

- :- 의 차이는 :- 는 변수가 존재하더라고 null 값이면 default를 선택함

 

[root@openxen scripts]# cat test.sh

#!/bin/bash

 

var1=

var2=2

 

echo ${var1-$var2} #(null)

echo ${var1:-$var2} #2

echo ${var3:-$var2} #2

 

echo ${username-'whoami'}

[root@openxen scripts]# ./test.sh

 

2

2

Whoami