포럼을 검색했지만 초보자이기 때문에 이해할 수 있는 내용을 찾을 수 없습니다.
텍스트의 특정 줄 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
모든 항목을 교체해야 함을 의미하며, 기본적으로 발견된 첫 번째 항목만 교체됩니다.
검색 문자열을 구체적으로 설정하면 파일의 다른 항목과도 일치할 가능성이 줄어듭니다.