我正在尝试编写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
您正在尝试执行它,而不是阅读它。改为:
cat /sys/class/net/eth0/carrier