gpt4 book ai didi

linux - HAL - UDISKS,人类可读,在 bash 脚本中将字节转换为千兆字节

转载 作者:太空宇宙 更新时间:2023-11-04 11:28:07 25 4
gpt4 key购买 nike

第一个问题

我目前在 bash 脚本中使用 HAL,通过以下命令获取特定设备的大小。

HAL_SIZE=$(hal-get-property --udi $UDI --key storage.removable.media_size)

结果(例如):4110188544/

但是我怎样才能将这个值转换成人类可读的格式,比如 GB:

4 110 188 544 bytes = 3.82791138 gigabytes

第二个问题

    for UDI in $(hal-find-by-property --key storage.bus --string usb)
do
HAL_TMP=`hal-get-property --udi $UDI --key storage.removable.media_available`
if [ "$HAL_TMP" = "true" ]; then
HAL_DEV=$(hal-get-property --udi $UDI --key block.device)
HAL_SIZE=$(hal-get-property --udi $UDI --key storage.removable.media_size)
HAL_TYPE=$(hal-get-property --udi $UDI --key storage.drive_type)

有没有人对 udisks 有一些过期,因为大多数 linux 发行版将不再支持 HAL,所以我正在考虑使用 udisks

我如何调整上述命令但使用 udisks 而不是 hal

谢谢!

最佳答案

问题 1 的答案:

>bytes="4110188544/"; echo $(echo "scale=3;${bytes%/*}/1024/1024/1024"|bc)GB
3.827GB

这会去除尾随的正斜杠并使用“bc”将字节转换为 GB。修改比例整数以提高准确性

关于linux - HAL - UDISKS,人类可读,在 bash 脚本中将字节转换为千兆字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13249698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com