bash 스크립트 에서 형 변환
#!/bin/bash
# int-or-string.sh
# 정수? 문자열?
a=2334 # 정수.
let "a += 1"
echo "a = $a " # 여전히 정수죠.
echo
b=${a/23/BB} # 문자열로 변환.
echo "b = $b" # BB35
declare -i b # 정수로 선언해도 도움이 되질 않죠.
echo "b = $b" # 여전히 BB35.
let "b += 1" # BB35 + 1 =
echo "b = $b" # 1
echo
c=BB34
echo "c = $c" # BB34
d=${c/BB/23} # 정수로 변환.
echo "d = $d" # 2334
let "d += 1" # 2334 + 1 =
echo "d = $d" # 2335
# Bash 의 변수는 본질적으로 타입이 없습니다(untyped).
exit 0
======================================
b=${a/23/BB} # 문자열로 변환.
echo "b = $b" # BB35
a 는 2335 이고 $(2335/23/BB)가 어째서 BB35 가 되죠 ㅡㅡ;
내 생각으로는 문자로 변환 되면 그냥 "2335/23/BB" 이렇게 될거
같은데.
echo "c = $c" # BB34
d=${c/BB/23} # 정수로 변환.
echo "d = $d" # 2334
c 는 BB34 이니까 &(BB34/BB/23) 이렇게 되는데 이게 워떻게
숫자가 될수 있죠 ㅡㅡ;
잘 아시는분 설명 부탁 드림다. ^^
Re: bash 스크립트 에서 형 변환
fwd wrote..
#!/bin/bash
# int-or-string.sh
# 정수? 문자열?
a=2334 # 정수.
let "a += 1"
echo "a = $a " # 여전히 정수죠.
echo
b=${a/23/BB} # 문자열로 변환.
echo "b = $b" # BB35
declare -i b # 정수로 선언해도 도움이 되질 않죠.
echo "b = $b" # 여전히 BB35.
let "b += 1" # BB35 + 1 =
echo "b = $b" # 1
echo
c=BB34
echo "c = $c" # BB34
d=${c/BB/23} # 정수로 변환.
echo "d = $d" # 2334
let "d += 1" # 2334 + 1 =
echo "d = $d" # 2335
# Bash 의 변수는 본질적으로 타입이 없습니다(untyped).
exit 0
======================================
b=${a/23/BB} # 문자열로 변환.
echo "b = $b" # BB35
a 는 2335 이고 $(2335/23/BB)가 어째서 BB35 가 되죠 ㅡㅡ;
내 생각으로는 문자로 변환 되면 그냥 "2335/23/BB" 이렇게 될거
같은데.
echo "c = $c" # BB34
d=${c/BB/23} # 정수로 변환.
echo "d = $d" # 2334
c 는 BB34 이니까 &(BB34/BB/23) 이렇게 되는데 이게 워떻게
숫자가 될수 있죠 ㅡㅡ;
잘 아시는분 설명 부탁 드림다. ^^ >>음..서브스트링을 대치하는 것에 대한 문제네요..
>>이내용은 kldp의 문서에도 다루고 있습니다..
>>http//kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/string-
manipulation.html
>>에 보시면 중간쯤에..
>>${string/substring/replacement}
>>처음 일치하는 $substring을 $replacement로 대치.
>>라고 있습니다..
>>b=${a/23/BB} 그러니까..a가 2335라면.. 23이라는 서브스트링을 BB로
>>바꾸니까..그런거겠죠..)
댓글 달기