Как выполнять команды, требующие root-прав внутри скрипта? - PullRequest
2 голосов
/ 28 февраля 2011

Мне нужно изменить частоту процессора (через права слайдов). Я написал команду для изменения частоты внутри скрипта. Однако, когда я запускаю скрипт, я получаю следующее сообщение об ошибке

 #!/bin/bash
slide
        for i in 0 1 2 3 
        do
                echo 1600000 > /sys/devices/system/cpu/cpu${i}/cpufreq/scaling_setspeed
        done

когда я запускаю скрипт, он выдает следующую ошибку

./change_freq.sh: line 4: /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed: Permission denied

Есть предложения?

1 Ответ

1 голос
/ 28 февраля 2011

Я не знаю, как работает slide, но, возможно, аналогичное действие с использованием sudo, которое выдает такую ​​же ошибку, будет:

sudo echo foo > /path/to/file

Способ решить это:

echo foo | sudo tee /path/to/file > /dev/null

Мне было бы интересно узнать, предоставляют ли какие-либо из следующих сведений дополнительную информацию о происхождении slide:

type -a slide
man slide
slide -v
slide --version
slide -h
slide -?
...