'sh'에 관한 글 1개

셈플소스

#!/bin/sh
name="abcd efghi"

#변수값 출력
echo "\$name       =$name  "
echo "\${name}     =${name}"

#문자열 길이 출력
echo "\$name length=${#name}"

#변수의 특정 위치부터 출력
#${name:offset}
echo "\${name:2}   =${name:2}"
#${name:offset:length}
echo "\${name:2:5} =${name:2:5}"

#변수 초기화
#${name:=value}
#name 변수 값이 null이면 value 값으로 초기화
echo "\${name2:=1234 5}=${name2:=1234 5}"
echo "\${name2:=123456}=${name2:=123456}"

#${name:+value}
#name 변수 값이 null 아니면 value값 return
echo "\${name2:+123456}=${name2:+123456}"
echo "\${name3:+123456}=${name3:+123456}"

#${name:-value}
#name 변수 값이 null 이면 value값 return, 아니면 name 값 return
echo "\${name2:-123456}=${name2:-123456}"
echo "\${name3:-123456}=${name3:-123456}"

#${name:?value}
#name 변수 값이 null 아니면 name 값을 출력하고 null이면 value 값 출력후 오류
echo "\${name2:?123456}=${name2:?123456}"
echo "\${name2:?123456}=${name3:?123456}"

스크립트 실행 결과

$name       =abcd efghi
${name}     =abcd efghi
$name length=10
${name:2}   =cd efghi
${name:2:5} =cd ef
${name2:=1234 5}=1234 5
${name2:=123456}=1234 5
${name2:+123456}=123456
${name3:+123456}=
${name2:-123456}=1234 5
${name3:-123456}=123456
${name2:?123456}=1234 5
value.sh: line 37: name3: 123456
2008/07/29 09:59 2008/07/29 09:59
태그 : , ,
글 걸기 주소 : 이 글에는 트랙백을 보낼 수 없습니다