shell에서 다음을 실행시켰더니 원하는 숫자 정보가 나왔다.

shell> cat /proc/net/dev | grep eth0 | cut -f2 -d: | awk '{print $1, $9}'
3495437713 2251687131

bash 프로그래밍에서 다음의 차이점은 무엇일까?

 

 after=(`cat /proc/net/dev | grep eth0 | cut -f2 -d: | awk '{print $1, $9}'`)
echo ${after}

 

 

 after=`cat /proc/net/dev | grep eth0 | cut -f2 -d: | awk '{print $1, $9}'`
echo ${after}

 

( ) 를 추가하고 안한 차이인데.. 우선 결과값을 보자

 

 

 after=(`cat /proc/net/dev | grep eth0 | cut -f2 -d: | awk '{print $1, $9}'`)
echo ${after}

 => 3495580030

 

 after=`cat /proc/net/dev | grep eth0 | cut -f2 -d: | awk '{print $1, $9}'`
echo ${after}

=> 3496364409 2252368302

 

즉 shell에서 명령어를 통해서 받아낸 결과값을 변수에 해당 값을 할당할 때, ( ) 를 추가하면, 스페이스나 개행문자에 관련해서 스스로 파싱하여 첫번째 값만 가지게 된다..

 

 

'unix and linux' 카테고리의 다른 글

시스템 정보 받아오기 #2  (0) 2009.03.24
시스템 정보 가지고 오기 #1  (0) 2009.03.24
SED 튜터리얼 sed tutorial  (0) 2009.03.13
쉘 에러 bad interpreter:  (0) 2008.12.12
/etc/sudoers  (0) 2008.11.19
Posted by '김용환'
,