티스토리 뷰
쉘스크립트에서 명령 수행결과를 변수 값에 저장한 후, 변수 값을 출력할 때 개행문자가 사라지는 경우가 있습니다.
아래와 같은 단순히 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
- Total
- Today
- Yesterday