我搜索过论坛,但作为新手找不到我能理解的东西。
我正在尝试创建一个脚本,编辑文本中的 3 行特定内容,保存并运行服务的重启命令。这是为了控制风扇。我还没有找到 GUI,所以我手动编辑速度,因为现在是夏天,白天我需要更高的风扇速度。
在有人说以温度为基础之前,我希望温度保持在某个程度以下,并且在夜间降低风扇速度是可以的,所以这有点不可能。
sudo nano /etc/fancontrol
sudo service fancontrol restart
我每天都会运行这些命令,但我厌倦了一直编辑它们。假设我可以使用 2 个脚本(一个具有较高的风扇速度,一个具有较低的风扇速度)并在特定时间手动或自动运行它们。
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=10
DEVPATH=hwmon1=devices/platform/coretemp.0 hwmon2=devices/platform/it87.2608
DEVNAME=hwmon1=coretemp hwmon2=it8728
FCTEMPS=hwmon2/pwm2=hwmon2/temp2_input hwmon2/pwm3=hwmon1/temp4_input
FCFANS=hwmon2/pwm2=hwmon2/fan2_input hwmon2/pwm3=hwmon2/fan1_input
MINTEMP=hwmon2/pwm2=10 hwmon2/pwm3=25
MAXTEMP=hwmon2/pwm2=80 hwmon2/pwm3=55
MINSTART=hwmon2/pwm2=**220** hwmon2/pwm3=210
MINSTOP=hwmon2/pwm2=**200** hwmon2/pwm3=200
MAXPWM=hwmon2/pwm2=**220** hwmon2/pwm3=255
粗体值是我需要更改的值。
提前谢谢大家!!!
答案1
您可以使用sed
命令来编辑文件。例如,
sed -i 's/MINSTART=hwmon2\/pwm2=220/MINSTART=hwmon2\/pwm2=400/' /etc/fancontrol
将会把值更改220
为400
。
s
/
表示“搜索”。在将命令分成几部分的分隔符之后,紧接着要搜索的字符串,直到下一个(未转义) /
。\/
是转义的/
,意思是:“将下/
一个解释为属于搜索字符串的文字字符,而不是命令不同部分的分隔符。然后是您要替换的字符串,以 结尾/
。在终止 之后/
,您可以添加选项。一个重要的是g
,这意味着应该替换任何出现的情况。默认情况下,只替换找到的第一个出现的情况。
使搜索字符串具体化会降低它与文件中其他内容匹配的机会。