【发布时间】:2021-05-10 08:07:21
【问题描述】:
我正在尝试制作监控笔记本电脑 (T480) 电池的脚本。有2个电池,内部和外部。充电时,外部信息似乎消失了capacity。
/sys/class/power_supply/BAT0/capacity
问题
我检查了收费,如果文件存在,问题是它通过了-f,缺少capacity,它是ASCII text,所以应该没有问题。
脚本
我也试过-e-d-c,但没有成功。
#!/bin/bash
...
[[ -f /sys/class/power_supply/BAT0/capacity ]] && {
EXTERNAL="$(cat /sys/class/power_supply/BAT0/capacity)"
...some logic
}
..
【问题讨论】:
-
也许您可以尝试再次检查文件是否为空,如下所示:
[[ $(du your_file | cut -f 1) > 0 ]]或更容易,使用[[ -s your_file ]] -
-scheck 如果文件存在并且它的大小大于零,如果它是空的也没关系,我的目标是避免在-fcheck之后对不存在的文件进行逻辑。 -
这真的很难重现。你确定文件真的消失了吗?确保您没有在脚本中的上一个命令中再次创建文件
-
/sys/class/power_supply/BAT0是一个系统链接。也许考虑在检查里面的文件之前检查the syslink is there。 -
非常感谢
-L检查工作!