我需要检查特定文件系统是否已安装。我知道我们可以从 df -k 中找到这一点。但是在这里,如果未安装特定文件系统,则错误应显示“cronshadow(文件系统示例)未安装”。我将为您提供 df -k 的示例输出k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0t0d0s0 4130982 1463894 2625779 36% /
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
/dev/dsk/c2t3d0s0 2053605 1815547 176450 92% /psa_shdw
mmr1asxx:/crnonshdw 106687632 92602932 14084700 87% /crnonshdw
这里我标有星号的文件系统未安装,需要显示类似---“crnonshdw未安装”的消息
答案1
这是一个简单的简单的grep
:
if ! df -k | grep -q 'crnonshdw'; then
printf 'crnonshdw is not mounted\n'
fi
答案2
您还可以使用以下mount
命令来查找:
$ mount | grep cronshadow
例子
$ if ! mount | grep -q "cronshadow"; then echo "not mounted";fi
not mounted
你也可以这样说:
$ mount | grep -q "cronshadow" || echo "not mounted"
not mounted
答案3
至少在我的系统上,我有一个mountpoint
命令可以让您检查目录上是否安装了某些内容。所以你可以:
if ! mountpoint -q /crnonshdw; then
echo "cronshadow(file system-example) is not mounted"
fi
或者,如果您没有该命令,一个简单的方法是确保已安装的文件系统包含一个“标志”文件,您可以测试该文件:
if ! [ -e /crnonshdw/.mounted ]; then
echo "cronshadow(file system-example) is not mounted"
fi
当然,您也可以将标志文件放在父文件系统的目录中(当其他文件系统安装在顶部时,它将被隐藏),然后您将取出!
.