即使使用sudo也无法从/ sys / class / net / eth0 / carrier读取

时间:2012-02-16 06:01:18

标签: c linux shell linux-kernel ethernet

我正在尝试编写shell脚本来读取/ sys / class / net / eth0 / carrier中的值,但是它给了我“权限被拒绝”的异常。我试图在shell脚本中编写的命令是

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

我还注意到,当我以root身份登录并尝试此操作时,我得到了相同的异常:

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

非常感谢任何尝试阅读执行shell脚本的值的帮助。

2 个答案:

答案 0 :(得分:2)

您尝试执行该文件的语法。如果你想要变量中的文件内容,做这样的事情(可能只有bash语法):

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

或(便携式)

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

如果您只想将其打印到stdout

cat /sys/class/net/eth0/carrier

答案 1 :(得分:0)

您正在尝试执行它,而不是阅读它。这样做:

cat /sys/class/net/eth0/carrier