1

我正在创建一个脚本来检查 VPS 是否启用了 TUN 驱动程序。检查命令是:

cat /dev/net/tun

如果它返回:

cat: /dev/net/tun: File descriptor in bad state

该模块已启用。否则返回错误。

这是我的脚本:

tunstring="File descriptor in bad state"
if cat /dev/net/tun | grep -q "$tunstring"; then
    echo "GOOOOOD"
else
    echo "ERROR"
fi

我得到ERROR消息。

我用一个文本文件尝试了相同的脚本,它工作了......

4

1 回答 1

3

由于该输出是在 stderr 上写入的,因此您可以使用:

tunstring="File descriptor in bad state"
if cat /dev/net/tun |& grep -q "$tunstring"; then
    echo "GOOOOOD"
else
    echo "ERROR"
fi

|&管道上一个命令的标准输出和标准错误到管道中的下一个。

看起来您的 VPS 路径即/dev/net/tun不再有效,并且cat命令无法读取它。

于 2015-01-08T15:46:14.753 回答