建立一個腳本來自動編輯檔案並執行命令

建立一個腳本來自動編輯檔案並執行命令

我搜尋過論壇,但作為新手找不到我能理解的東西。

我正在嘗試創建一個腳本來編輯文字上的 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

會將值更改220400.

s意思是「搜尋」。在/將命令分隔開的分隔符號之後,緊接在後的是要搜尋的字串,直到下一個(未轉義) /\/是一個轉義的,意思/是:「將 next 解釋/為屬於搜尋字串的文字字符,而不是作為命令不同部分的分隔符。然後跟在您替換的字串後面,以 結尾/。在終止後/,您可以添加一個重要的選項是g,這意味著預設情況下,僅替換找到的第一個匹配項。

使搜尋字串具體化可以減少它與文件中其他內容相符的機會。

相關內容