--------------------참고사항---------------------------------------
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