Eu encontrei algumas maneiras. Sobre o que é mais simples, depende de você:
-
M=$(timeout 1 stat -t "/path/to/mountpoint" 2>&1) && echo "UP" || echo "DOWN"
O comandoM=$(timeout 1 stat -t "/path/to/mountpoint" 2>&1)
armazenará a saída na variávelM
e fornecerá o status de saída acessível por$?
.
Na versão proposta, ele responderá a um aconcheganteUP
ouDOWN
.
Otimeout 1
irá matar o comandostat
e, portanto, eliminará seu identificador de arquivo aberto. -
Você pode analisar a saída de
stat
em busca da palavra-chave "stale" , redirecionando melhor o stderrortimeout 1 stat /path/to/my/mountpoint 2>&1 | grep -i "stale"
Aqui, novamente, o
timeout 1
irá matar o comandostat
e, portanto, eliminará seu identificador de arquivo aberto. -
rpcinfo
relata informações de RPC. O acima deve funcionar tambémrpcinfo -t remote.system.net nfs > /dev/null 2>&1 if [ $? -eq 0 ]; then echo Remote NFS share available. fi
Outras leituras e inspirações:)