我想将mount命令的输出put与/etc/filesystems进行比较。基本上,我们希望在任何系统更改(重启等)后,验证所有内容是否按照/etc/filesystems中定义的那样正确挂载。
我的基本脚本是:
#!/bin/bash
mountpoint="/vol/test/abc"
if grep -qs "$mountpoint" /etc/filesystems; then
echo "good"
else
echo "bad"
fi这是正确的方法吗?请提个建议。另外,如何获取通过执行mount命令返回的所有卷?
发布于 2013-10-26 23:18:59
我认为您想要的一般方法是,首先通过查看/ etc /filesystems (使用awk、grep等的某种组合来获取名称),生成期望挂载的所有文件系统的列表。
然后,通过运行不带参数的mount命令来获取实际挂载的文件系统的列表。
最后,将原始列表与第二个列表进行比较,并确保没有遗漏任何内容。
发布于 2013-10-27 00:47:59
正如z242所建议的:
# Matching lines from /etc/filesystems
sed -n 's%^\(/.*\):%\1%p' /etc/filesystems | sort -o f1
# Matching lines from mount command
mount | tail +3 | awk '{print $2}' | sort -o f2
# Now compare the two
comm -3 f1 f2列出的没有缩进的项目是那些在/etc/filesystems中但未挂载的项目。使用缩进列出的项目是那些已挂载但不在/etc/filesystems中的项目。如果您不关心后者,请将comm -3更改为comm -23
https://stackoverflow.com/questions/19602307
复制相似问题