Ich habe die Foren durchsucht, aber als Neuling kann ich nichts finden, was ich verstehe.
Ich versuche, ein Skript zu erstellen, das drei bestimmte Textzeilen bearbeitet, sie speichert und den Neustartbefehl für den Dienst ausführt. Dies geschieht zur Lüftersteuerung. Ich habe noch keine GUI gefunden, also bearbeite ich die Geschwindigkeiten manuell, da es Sommer ist und ich tagsüber höhere Lüftergeschwindigkeiten brauche.
Bevor jemand sagt, es soll temperaturabhängig sein: Ich möchte, dass die Temperatur unter einem bestimmten Grad bleibt, und nachts ist eine niedrigere Lüftergeschwindigkeit ok, also ist das eigentlich unmöglich.
sudo nano /etc/fancontrol
sudo service fancontrol restart
Befehle, die ich täglich ausführe, aber es langweilt mich, sie ständig zu bearbeiten. Nehmen wir an, ich könnte zwei Skripte verwenden (eines mit höherer und eines mit niedrigerer Lüftergeschwindigkeit) und sie manuell oder automatisch zu einer bestimmten Stunde ausführen.
# 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
Die fettgedruckten Werte sind die, die ich ändern muss.
Vielen Dank im Voraus, Leute!!!
Antwort1
Mit dem Befehl können Sie sed
eine Datei mit einem Befehl bearbeiten. Beispiel:
sed -i 's/MINSTART=hwmon2\/pwm2=220/MINSTART=hwmon2\/pwm2=400/' /etc/fancontrol
ändert den Wert 220
in 400
.
s
bedeutet "Suchen". Nach dem Trennzeichen /
, das den Befehl in Teile trennt, folgt der zu suchende String, bis zum nächsten (nicht maskierten) /
. Das \/
ist ein maskiertes /
, was bedeutet: "interpretiere nächstes /
als wörtliches Zeichen, das zum Suchstring gehört, und nicht als Trennzeichen für die verschiedenen Teile des Befehls. Dann folgt der String, durch den du ersetzt hast, abgeschlossen mit /
. Nach dem abschließenden /
kannst du Optionen hinzufügen. Eine wichtige ist g
, was bedeutet, dass jedes Vorkommen ersetzt werden soll. Standardmäßig wird nur das erste gefundene Vorkommen ersetzt.
Wenn Sie die Suchzeichenfolge spezifisch machen, verringert sich die Wahrscheinlichkeit, dass sie auch mit einer anderen Zeichenfolge in der Datei übereinstimmt.