如何检查 /proc/ 是否已安装?
不鼓励使用 /etc/mtab,因为它可能不一致。
使用 /proc/mounts 也不是一个选项,因为如果 /proc/ 未挂载可能不存在(尽管检查它的存在可能是进行此检查的一种方法。
进行此检查的最佳方法是什么?
您可以mount不带任何参数运行以获取当前挂载的列表。该/etc/mtab文件应该具有类似的数据,但是就像您所说的那样,如果/etc文件系统被弄乱、不可写或其他程序弄乱了它,则这可能与实际安装的数据不一致。您可以通过要求mount列出所有类型的挂载来获取有关 proc 挂载的特定信息,proc如下所示:
mount -l -t proc
Run Code Online (Sandbox Code Playgroud)
编辑:看起来您可以stat用来将/proc文件夹的设备与设备进行比较,/以至少判断除根文件系统之外是否安装了某些东西:
[[ $(stat -c %d%D /proc) != $(stat -c %d%D /) ]] && echo "Something is mounted at /proc"
Run Code Online (Sandbox Code Playgroud)