我想請求一些幫助,如何改進下面的基本腳本。
所以,我能夠將參數傳遞給 bash,但是我的 awk 命令是否可以使其更加靈活?
我在命令中遇到錯誤df -h
,它顯示 1 個檔案系統有 2 行(應該只有一行)
然後,腳本不會顯示正確的參數,因為參數編號( 和$6
)$5
已更改。
樣本:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/test/test2/test3 1.1G 100M 1G 1% /test
/dev/test/test2/test3/test4
1.1G 100M 1G 1% /tst2
$ cat myscript.sh
#!bin/bash
df -h "$@" | awk '{print $6,"=",$5}' | sed -n '1!p'
$ ./myscript.sh /test /tst2
我的輸出將是
/test=1%
=/tst2
但應該是
/test=1%
/tst2=1%
答案1
只需使用它,您就不必擔心df
輸出的後處理。
df -P
這將確保 1 個檔案系統的輸出不會跨越多行。
所以你的最終腳本將是
df -h -P "$@" | awk '{ print $6,"=",$5}' | sed -n '1!p'