>> Delete No. 47844 article
No. 쉘 스크립트에서 중첩변수사용하기

등록 2002-04-27 02:14:00 By localhost     조회 2
이름 성현    

		--------------------참고사항---------------------------------------
for i in `cat tmp/last.log`
do
#  j=$((2+1)) or 'expr 2+1'
  ((j++))
  user_name=`sed -n -e "${j}s/(/ /p" tmp/last.log|awk '{print $1}'`
  use_time=`sed -n -e "${j}s/(/ /p" tmp/last.log|awk '{print $2}'`
#  ${user_name}="$use_time"
  echo -n $j
#  $((i))="abc" <-- 이 부분임..
#  echo $((i))  <-- 출력문이지만 안됨.
  echo
done
--------------------------------------------------------------------
갑자기 공부(?) 하면서 막혀서 그러는데요.
 쉘에대한 참고서적 등도 둘러봤는데 없어서..
 위 예제에서 $i 에는 사용자 아이디가 들어가게됩니다.
 예를 들어 위 예제를 벗어나서 말씀드리면,
 ---------------ex-----------------------
i=abc
abc=$(($abc+1)) 또는 ((abc++))
echo ${$i} <-- 역시 에러남.
----------------------------------------
 이런식으로 하려고 합니다. 즉 위에서 abc라는 값은 계속 바껴가는 것이고욥
 그래서 변수명은 바뀌게 되고 그 변수가 몇개 있었는지를 알수 있게 해주죠.
 제가 궁극적으로 원하는 목적은 방금 말씀드린 것이 아니고
 중첩되는 변수를 어떻게 쓰느냐입니다.
 php 인 경우에는
 $a="bcd";
$$a="a";
 하면 되거든요.. 쉘에선 몰라서.. 읽어주셔서 감사합니다.(__);
 참고 :
  http://kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/index.html
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved