我正在研究shell腳本並試圖將用戶輸入拆分爲多個變量並在不同的地方使用它們。如何將輸入字符串拆分爲多個變量
用戶輸入不是固定,從而不能真正分配可變的固定號碼,輸入由逗號分隔,
./user_input.ksh -string /m01,/m02,/m03
#!/bin/ksh
STR=$2
function showMounts {
echo "$STR"
arr=($(tr ',' ' ' <<< "$STR"))
printf "%s\n" "$(arr[@]}"
for x in "$(arr[@]}"
do
free_space=`df -h "$x" | grep -v "Avail" | awk '{print $4}'`
echo "$x": free_space "$free_space"
done
#total_free_space = <total of $free_space>
#echo "$total_free_space"
}
基本上$ STR *變量值的文件系統的安裝點
主機輸出如果單獨運行df -h
命令
$ df -h /m01 | grep -v "Avail" | awk '{print $4}'
***Output***
150
目前存在的問題:
(working)1. How to get free space available for each /m* using df -h?
目前尚不清楚你想如何拆分。提供更多的例子來澄清。 – anubhava
@anubhava我以回聲爲例,謝謝。 – homer
df -h/m01 | grep -v「Avail」| awk {'print $ 4'} - >給我150,但是這在腳本 – homer