我怎么只能从sysctl、MacOS的返回中获得布尔值呢



我正在尝试在shell脚本中获取命令的返回布尔值:sysctl debug.lowpri_throttle_enabled(使用zsh运行(。

此命令用于了解macOS是否启用低阶任务(即时间机器(的速度限制。

这是我现在完成的脚本:

value=$(sysctl debug.lowpri_throttle_enabled)
echo $value

我得到的输出是:

>>>debug.lowpri_throttle_enabled: 0

但是我只想要0/1作为输出,怎么能只得到布尔值而不得到整个字符串呢?谢谢

我找到了解决方案。参考:https://ss64.com/osx/sysctl.html

添加-n作为选项时,它将只返回值。

例如

>>>sysctl -n debug.lowpri_throttle_enabled
0
>>>sudo sysctl debug.lowpri_throttle_enabled=1
>>>sysctl -n debug.lowpri_throttle_enabled
1

根据描述,-n用于:

只显示变量值,而不显示其名称。此选项对于设置shell变量非常有用。

并且-b用于:

强制以原始二进制格式输出变量的值。不打印名称,也不输出终止换行符。

但我不知道为什么在这种情况下只有-n有效,而-b无效。

最新更新