bc命令是linux下的计算器,四舍五入用到printf命令
(接我上篇文章添查询在线文件大小查询)在执行脚本时bc处理出现了错误:(standard_in) 1: illegal character: ^M
# 脚本内容(curl获取文件大小,然后进行换算保留2位小数)
fileLength=`curl -sI $down_url|grep Content-Length|awk '{print $2}'`
filesize=`echo "scale=2;$fileLength/1000^3"|bc`;
echo "文件大小为:[${filesize}]G"
网上查错误原因是因为执行返回的结果带有回车符"\r"(使用sh -x调试可以看到),shell中 test[] 和 bc 均无法进行处理,故而报错。
# 解决(结果中的回车符再处理下)
fileLength=`curl -sI $down_url|grep Content-Length|awk '{print $2}'|tr -d tr -d $'\r'`
linux下在对文件统计大小(以GB)显示的时候都会对文件大小整数显示,在这个脚本的结果中也加上四舍五入以整数显示
# 0f表示不保留小数
echo "文件大小为:[`printf "%.0f" ${filesize}`]G"
本文最后记录时间 2024-03-30
文章链接地址:https://wojc.cn/archives/1191.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处
文章链接地址:https://wojc.cn/archives/1191.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处