这里有一个脚本 设置英特尔 CPU 频率
我过去曾用它来降低过热的 INTEL CPU 的频率。通常只需降低一步就足够了,并使其不会“升压”。我已经好几年没有这样做了,但最近我组装的一个廉价采矿系统出现了问题,当我运行该脚本时,它失败了,我不得不用“-eq”替换“==”该脚本来自英特尔开发部门,我确信它在 Ubuntu 14 或 12 上运行正常。忘记我当时用的是哪个了。当我运行下面的代码时,我得到了 METHOD 为 0 的分支,它工作正常,但我不得不输入 -eq 而不是 ==
METHOD=0
..
if [ $METHOD -eq 0 ]; then
--
userspace
Setting /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor to userspace
Setting freq /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed to 2800000
答案1
如果您使用单数,则[
您正在使用test
而不是需要双数的 bash 逻辑运算符[[
。
在 和bash
(sh
在dash
Ubuntu 中)中, [
/test
都被优化为 shell 内置命令,但是它们的行为并不相同,在 bash 中==
是严格等同的,=
但在 dash 中并非如此。
并且您指向的脚本的 shebang#! /bin/sh
取决于平台,它将是 bash 或 dash。