Este é fácil com um simples grep
:
if ! df -k | grep -q 'crnonshdw'; then
printf 'crnonshdw is not mounted\n'
fi
Eu preciso verificar se um determinado sistema de arquivos está montado ou não. Eu sei que nós podemos descobrir isso a partir de df -k.Mas aqui, se um determinado sistema de arquivos não está montado, o erro deve exibir "cronshadow (sistema de arquivos-exemplo) não está montado" .Eu vou dar um exemplo de saída de df - 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
Aqui, qual sistema de arquivos que eu marquei com asterisco não está montado, preciso exibir uma mensagem como --- "o crnonshdw não está montado"
Este é fácil com um simples grep
:
if ! df -k | grep -q 'crnonshdw'; then
printf 'crnonshdw is not mounted\n'
fi
Você também pode usar o comando mount
para descobrir isso:
$ mount | grep cronshadow
$ if ! mount | grep -q "cronshadow"; then echo "not mounted";fi
not mounted
Você também pode dizer assim:
$ mount | grep -q "cronshadow" || echo "not mounted"
not mounted
Pelo menos no meu sistema, eu tenho um comando mountpoint
que permite verificar se um diretório tem algo montado nele. Então você poderia:
if ! mountpoint -q /crnonshdw; then
echo "cronshadow(file system-example) is not mounted"
fi
Como alternativa, se você não tiver esse comando, uma abordagem simples é garantir que o sistema de arquivos montado contenha um arquivo "flag", que você pode testar:
if ! [ -e /crnonshdw/.mounted ]; then
echo "cronshadow(file system-example) is not mounted"
fi
Você pode também colocar o arquivo de flag dentro do diretório no sistema de arquivos pai (ele será escondido quando o outro sistema de arquivos estiver montado no topo), então você removerá o !
.
Tags filesystems