如何提取gsettings命令返回结果中的整数以用于Bash比较
获取gsettings idle-delay的纯整数值用于Bash比较
目前gsettings没有直接返回纯数值的语法(比如你提到的idle-delay.value这种形式),不过可以通过简单的文本处理命令提取出数字部分,以下几种方法都能实现:
使用
awk提取第二个字段:idle_delay=$(gsettings get org.gnome.desktop.session idle-delay | awk '{print $2}')使用
cut按空格分隔取第二个字段:idle_delay=$(gsettings get org.gnome.desktop.session idle-delay | cut -d' ' -f2)使用
grep匹配并提取数字:idle_delay=$(gsettings get org.gnome.desktop.session idle-delay | grep -o '[0-9]*')
提取到纯整数后,就可以正常用Bash的-ge等比较运算符了,比如:
if [ "$idle_delay" -ge 500 ]; then echo "当前空闲延迟大于等于500秒" fi
内容的提问来源于stack exchange,提问作者Sean Henry
相关产品推荐
相关产品推荐

