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

问题描述 投票:0回答:2

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

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

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

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

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

c linux shell linux-kernel ethernet
2个回答
2
投票

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

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

或(便携式)

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

如果你只是想把它打印到stdout

cat /sys/class/net/eth0/carrier

0
投票

您正在尝试执行它,而不是阅读它。改为:

cat /sys/class/net/eth0/carrier
© www.soinside.com 2019 - 2024. All rights reserved.