2017-08-15 78 views
0

我試圖在簡單的腳本中使用df命令結尾的| column -t,並且我不斷收到錯誤。使用|列-t在bash腳本中

這裏是我的腳本:

#!/bin/sh 
CMD=`df -Pi | column -t` 
echo $CMD 

這是當我運行它發生的輸出:

文件系統索引節點 - 稠IFree IUSE%安裝在/ dev /映射器/ rootvg的根 327680 149683 177997 46%/ tmpfs 3851091 1 3851090 1%/ dev/shm /dev/sda1 99568 62 99506 1%/ boot/dev/mapper/rootvg-home 131072 1457 129615 2%/ home/dev/mapper/rootvg -tmp 131072 51 131021 1%/ tmp /dev/mapper/rootvg-l ocal 65536 97 65439 1%/ usr/local /dev/mapper/rootvg-var 131072 5359 125713 5%/ var /dev/mapper/rootvg -log 132464 1535 130929 2%/ var/log /dev/mapper/rootvg的審計65536 65520 16 1%/無功/日誌/審計 的/ dev /映射器/ optvg拉攏3276800 216348 3060452 7%/選擇

這是所有1個大斑點。我假設我錯過了一些包裝字符到實際的命令,但我一直無法找到任何東西。

這是我從一個腳本尋找輸出:

Filesystem    Inodes IUsed IFree IUse% Mounted   on 
/dev/mapper/rootvg-root 327680 149683 177997 46% /
tmpfs      3851091 1  3851090 1%  /dev/shm 
/dev/sda1     99568 62  99506 1%  /boot 
/dev/mapper/rootvg-home 131072 1457 129615 2%  /home 
/dev/mapper/rootvg-tmp 131072 51  131021 1%  /tmp 
/dev/mapper/rootvg-local 65536 97  65439 1%  /usr/local 
/dev/mapper/rootvg-var 131072 5359 125713 5%  /var 
/dev/mapper/rootvg-log 132464 1535 130929 2%  /var/log 
/dev/mapper/rootvg-audit 65536 16  65520 1%  /var/log/audit 
/dev/mapper/optvg-opt  3276800 216353 3060447 7%  /opt 
+2

您必須引用'$ CMD'。 –

+0

@shellter我不同意。 –

+0

雙引號工作,謝謝先生! – theGlitchKing

回答

0

你缺少管道「|」:

CMD=`df -Pi | column -t` 
echo "$CMD" 

但是,直覺告訴我這是不是你要麼。

+0

這是一個現在已修復的錯字。 –

+0

As @BenjaminW。說,包括「$ CMD」周圍的雙引號 – keithpjolley

+0

這工作,謝謝! – theGlitchKing

1

你需要用雙引號包裹你的回聲。所以它尊重空格,換行符等。

echo "$CMD"