我正在尝试编写 shell 脚本以从/sys/class/net/eth0/carrier 中读取值,但它给了我“权限被拒绝”异常。我试图在 shell 脚本中编写的命令是
sudo echo $(/sys/class/net/eth0/carrier)
我还注意到,当我以 root 身份登录并尝试此操作时,我遇到了同样的异常:
echo $(/sys/class/net/eth0/carrier)
非常感谢任何试图读取执行 shell 脚本的值的帮助。
最佳答案
你的语法试图执行那个文件。如果你想把文件的内容放在一个变量中,做这样的事情(可能是 bash-only 语法):
foo=$(</sys/class/net/eth0/carrier)
或(便携)
foo=$(cat /sys/class/net/eth0/carrier)
如果你只是想把它打印到stdout
:
cat /sys/class/net/eth0/carrier
关于即使使用 sudo 也无法从/sys/class/net/eth0/carrier 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9306307/