這裏的代碼在我的bash腳本的罪魁禍首行:百分比精度在bash
bat_percent=`echo "$bat_percent * 100" | bc | sed 's/.00//'`
當bat_percent否則將推出100,它提出了.00
如果我將其更改爲(刪除和添加0)。
bat_percent=`echo "$bat_percent * 100" | bc | sed 's/000//'`
甚至:(3 0的和)
bat_percent=`echo "$bat_percent * 100" | bc | sed 's/000.//'`
輸出是100.00
在heck中,我如何說100,同時保持其他百分比如87或5?
我就在附近回答任何跟進:)
驗屍
這裏的成品代碼,感謝你們從幫助! (另外:停下來投票對方讓我們只做朋友,m'kay!?)
my_ac_adapt=`ioreg -w0 -l | grep ExternalConnected | awk '{print $5}'`
cur_power=`ioreg -w0 -l | grep CurrentCapacity | awk '{print $5}'`
max_power=`ioreg -w0 -l | grep MaxCapacity | awk '{print $5}'`
bat_percent=`echo "scale=2;$cur_power/$max_power" | bc`
bat_percent=`echo "$bat_percent * 100" | bc | sed 's/\..*//'`
if [ "$my_ac_adapt" == "Yes" -a "$bat_percent" == "100" ]
then
echo "Charged"
elif [ "$my_ac_adapt" == "Yes" -a "$bat_percent" != "100" ]
then
echo "Charging: $bat_percent%"
else
echo "Battery: $bat_percent%"
fi
這段代碼獲得您的電池的當前狀態,正是如此通知您:)
我稍微您的問題困惑逃跑的特殊字符。 '$ bat_percent'的初始值是多少? – Carpetsmoker
$ bat_percent是一個系統調用,可以獲得筆記本電腦電池剩餘電量的%。它不斷變化。但是,初始值與我的問題無關,因爲我只是想格式化輸出。 – iMatthewCM
對。我認爲*你想要的是當'$ bat_percent'已經是'100'時有'100'?或者其他的東西?你應該爲'$ bat_percent'提供一些示例值。另外,你爲什麼還原我的編輯?我認爲這是建設性的,讓事情變得更清晰?誠實地說,我必須四次閱讀你的問題,我*仍然*不是100%確定你在問什麼... – Carpetsmoker