Невозможно прочитать из / sys / class / net / eth0 / carrier даже с помощью sudo - PullRequest
0 голосов
/ 16 февраля 2012

Я пытаюсь написать сценарий оболочки для чтения значения из / sys / class / net / eth0 / carrier, но это дает мне исключение «отказано в разрешении».Команда, которую я пытаюсь написать в сценарии оболочки:

sudo echo $(/sys/class/net/eth0/carrier)

Я также заметил, что я получаю то же исключение, когда я вошел в систему как пользователь root и попытался это сделать:1006 * Любая помощь в попытке прочитать значение, выполняемое сценарием оболочки, очень ценится.

Ответы [ 2 ]

2 голосов
/ 16 февраля 2012

Синтаксис, который у вас есть, пытается выполнить этого файла. Если вы хотите содержимое файла в переменной, сделайте что-то вроде этого (возможно, синтаксис только для bash):

foo=$(</sys/class/net/eth0/carrier)

или (переносной)

foo=$(cat /sys/class/net/eth0/carrier)

Если вы просто хотите распечатать его на stdout:

cat /sys/class/net/eth0/carrier
0 голосов
/ 16 февраля 2012

Вы пытаетесь выполнить это, а не читать это.Сделайте это вместо:

cat /sys/class/net/eth0/carrier
...