티스토리 뷰

반응형

쉘스크립트에서 명령 수행결과를 변수 값에 저장한 후, 변수 값을 출력할 때 개행문자가 사라지는 경우가 있습니다.

아래와 같은 단순히 df 결과를 변수 값에 저장한 후 출력하는 쉘 스크립트 입니다.

기본 df의 출력 결과는 아래와 같습니다.


Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on

/dev/hd4          5242880    301996   95%    11523    13% /

/dev/hd2         10485760   5480656   48%    83421     7% /usr

/dev/hd9var       5242880   4765576   10%     3980     1% /var

/dev/hd3         10485760   6717992   36%     5338     1% /tmp

/dev/fwdump        786432    785984    1%        4     1% /var/adm/ras/platform

/dev/hd1         10485760   1381160   87%    31150     9% /home

/dev/hd11admin    20971520   6628444   69%     3349     1% /admin

/proc                   -         -    -         -     -  /proc

/dev/hd10opt     10485760    528340   95%    52455    27% /opt

/dev/livedump      262144    261776    1%        4     1% /var/adm/ras/livedump

/dev/work1lv    131072000  74206256   44%    93462     1% /work1

/dev/work2lv    131072000  37407272   72%   234216     3% /work2

/dev/testkim      5242880   5241752    1%        4     1% /testkim

/dev/fslv00       5242880   5227048    1%       30     1% /nmon


쉘 스크립트를 실행하면 위의 내용이 한줄로 나타납니다.


#!/bin/bash

a=`df`

echo $a


<실행결과>

Filesystem 512-blocks Free %Used Iused %Iused Mounted on /dev/hd4 10485760 603992 95% 11523 13% / /dev/hd2 20971520 10961312 48% 83421 7% /usr /dev/hd9var 10485760 9531136 10% 3980 1% /var /dev/hd3 20971520 13435984 36% 5338 1% /tmp /dev/fwdump 1572864 1571968 1% 4 1% /var/adm/ras/platform /dev/hd1 20971520 2762312 87% 31150 9% /home /dev/hd11admin 41943040 13256888 69% 3349 1% /admin /proc - - - - - /proc /dev/hd10opt 20971520 1056680 95% 52455 27% /opt /dev/livedump 524288 523552 1% 4 1% /var/adm/ras/livedump /dev/work1lv 262144000 148412512 44% 93462 1% /work1 /dev/work2lv 262144000 74814544 72% 234216 3% /work2 /dev/testkim 10485760 10483504 1% 4 1% /testkim /dev/fslv00 10485760 10454096 1% 30 1% /nmon


이렇게 되면 출력물을 가공하기 어려워집니다.

이런 경우에는 echo에서 변수값을 쌍따옴표(")로 묶어줍니다.


#!/bin/bash

a=`df`

echo "$a"


<실행결과>

Filesystem    512-blocks      Free %Used    Iused %Iused Mounted on

/dev/hd4        10485760    603976   95%    11523    13% /

/dev/hd2        20971520  10961312   48%    83421     7% /usr

/dev/hd9var     10485760   9531072   10%     3980     1% /var

/dev/hd3        20971520  13435984   36%     5338     1% /tmp

/dev/fwdump      1572864   1571968    1%        4     1% /var/adm/ras/platform

/dev/hd1        20971520   2362280   89%    31150    11% /home

/dev/hd11admin   41943040  13256888   69%     3349     1% /admin

/proc                  -         -    -         -     -  /proc

/dev/hd10opt    20971520   1056680   95%    52455    27% /opt

/dev/livedump     524288    523552    1%        4     1% /var/adm/ras/livedump

/dev/work1lv   262144000 148412496   44%    93462     1% /work1

/dev/work2lv   262144000  74814544   72%   234216     3% /work2

/dev/testkim    10485760  10483504    1%        4     1% /testkim

/dev/fslv00     10485760  10454096    1%       30     1% /nmon


반응형
댓글