[英]shell script comparison of values
In shell script how can i compare these kind of variable 在shell脚本中,我如何比较这些变量
echo $du //170G
echo $expected_du // 40G
if [ $expected_du -le $du ]
then
echo "$du exceeded";
fi
Use the -k
flag to du
, which returns the size in kilobytes without any units. 将
-k
标志用于du
,它返回以千字节为单位的大小而不包含任何单位。 For example: 例如:
$ du -ks /tmp
1068 /tmp
Now you have a number that you can compare using -le
. 现在您有一个可以使用
-le
进行比较的数字。
You could also multiple things out in your script: 您还可以在脚本中添加多个内容:
case $du in
*K) du_k=${du%K};;
*M) du_k=$(( ${du%M} * 1024 ));;
*G) du_k=$(( ${du%G} * 1024 *1024 ));;
*T) du_k=$(( ${du%T} * 1024 *1024 * 1024 ));;
*[0-9]) du_k=$du;;
*) echo "What?"
exit 1
;;
esac
echo $du_k
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.