как проверить, является ли mount мягким NFS

При использовании ssh вы получаете оболочку для входа.

Из ~/.profile

# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login exists.

Поэтому убедитесь, что этот файл существует в домашнем каталоге пользователя, в котором вы находитесь пытаясь войти в систему. Если он не существует, создайте файл и заставьте его прочитать файл ~/.bashrc, набрав это -

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi
1
задан 21 February 2018 в 18:13

6 ответов

Вы можете использовать команду mount, чтобы показать все ваши монтировки (или посмотреть /etc/mtab), grep, чтобы выбрать ваше конкретное монтирование, а затем еще один grep, чтобы проверить soft: 0]

mount | grep /home/share3 | grep -q soft
if [[ $? -eq 0 ]] ; then
    echo "/home/share3 is mounted with 'soft'"
else
    echo "/home/share3 is not mounted with 'soft'"
fi
1
ответ дан 22 May 2018 в 12:58
  • 1
    Еще лучше будет /proc/mount, так как он всегда перечисляет все точки монтирования, как видно ядру, в машиночитаемом формате. – David Foerster 21 February 2018 в 21:16

Вы можете использовать команду mount, чтобы показать все ваши монтировки (или посмотреть /etc/mtab), grep, чтобы выбрать ваше конкретное монтирование, а затем еще один grep, чтобы проверить soft:

mount | grep /home/share3 | grep -q soft if [[ $? -eq 0 ]] ; then echo "/home/share3 is mounted with 'soft'" else echo "/home/share3 is not mounted with 'soft'" fi
1
ответ дан 17 July 2018 в 20:18

Вы можете использовать команду mount, чтобы показать все ваши монтировки (или посмотреть /etc/mtab), grep, чтобы выбрать ваше конкретное монтирование, а затем еще один grep, чтобы проверить soft:

mount | grep /home/share3 | grep -q soft if [[ $? -eq 0 ]] ; then echo "/home/share3 is mounted with 'soft'" else echo "/home/share3 is not mounted with 'soft'" fi
1
ответ дан 23 July 2018 в 21:00

Хотя я, вероятно, использовал бы mount (как описано в ответе walinator) сам, согласно man mount, мы должны выйти из привычки:

   The listing.
          The listing mode is maintained for backward compatibility only.

          For more robust and customizable output  use  findmnt(8),  espe‐
          cially  in  your  scripts.
[d3 ] Команда findmnt дает еще большую гибкость - например, вы можете напрямую найти источник или цель (без необходимости grep) и выводить только параметры, зависящие от файловой системы. Compare:

$ mount -t nfs | grep public
192.168.1.127:/c/public on /mnt/nfs/public type nfs (rw,relatime,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.127,mountvers=3,mountport=3097,mountproto=udp,local_lock=none,addr=192.168.1.127)

to

$ findmnt -nM /mnt/nfs/public  -oFS-OPTIONS
rw,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.127,mountvers=3,mountport=3097,mountproto=udp,local_lock=none,addr=192.168.1.127

Я не думаю, что он (пока) обеспечивает способ получения значений конкретных опций напрямую, поэтому grep или [ f11] все еще будет необходимо для этого.

$ findmnt -nM /mnt/nfs/public  -oFS-OPTIONS | grep -qE '\bsoft\b' && echo "soft" || echo "hard"
hard

В вашем случае это будет

findmnt -nM /home/share3 -oFS-OPTIONS | grep -qE '\bsoft\b' && echo "soft" || echo "hard"
2
ответ дан 22 May 2018 в 12:58

Хотя я, вероятно, использовал бы mount (как описано в ответе walinator) сам, согласно man mount, мы должны выйти из привычки:

The listing. The listing mode is maintained for backward compatibility only. For more robust and customizable output use findmnt(8), espe‐ cially in your scripts.

Команда findmnt дает еще большую гибкость - например, вы можете напрямую найти источник или цель (без необходимости grep) и выводить только параметры, зависящие от файловой системы. Compare:

$ mount -t nfs | grep public 192.168.1.127:/c/public on /mnt/nfs/public type nfs (rw,relatime,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.127,mountvers=3,mountport=3097,mountproto=udp,local_lock=none,addr=192.168.1.127)

to

$ findmnt -nM /mnt/nfs/public -oFS-OPTIONS rw,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.127,mountvers=3,mountport=3097,mountproto=udp,local_lock=none,addr=192.168.1.127

Я не думаю, что он (пока) обеспечивает способ получения значений конкретных опций напрямую, поэтому grep или awk все еще будет необходимо для этого.

$ findmnt -nM /mnt/nfs/public -oFS-OPTIONS | grep -qE '\bsoft\b' && echo "soft" || echo "hard" hard

В вашем случае это будет

findmnt -nM /home/share3 -oFS-OPTIONS | grep -qE '\bsoft\b' && echo "soft" || echo "hard"
2
ответ дан 17 July 2018 в 20:18

Хотя я, вероятно, использовал бы mount (как описано в ответе walinator) сам, согласно man mount, мы должны выйти из привычки:

The listing. The listing mode is maintained for backward compatibility only. For more robust and customizable output use findmnt(8), espe‐ cially in your scripts.

Команда findmnt дает еще большую гибкость - например, вы можете напрямую найти источник или цель (без необходимости grep) и выводить только параметры, зависящие от файловой системы. Compare:

$ mount -t nfs | grep public 192.168.1.127:/c/public on /mnt/nfs/public type nfs (rw,relatime,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.127,mountvers=3,mountport=3097,mountproto=udp,local_lock=none,addr=192.168.1.127)

to

$ findmnt -nM /mnt/nfs/public -oFS-OPTIONS rw,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.127,mountvers=3,mountport=3097,mountproto=udp,local_lock=none,addr=192.168.1.127

Я не думаю, что он (пока) обеспечивает способ получения значений конкретных опций напрямую, поэтому grep или awk все еще будет необходимо для этого.

$ findmnt -nM /mnt/nfs/public -oFS-OPTIONS | grep -qE '\bsoft\b' && echo "soft" || echo "hard" hard

В вашем случае это будет

findmnt -nM /home/share3 -oFS-OPTIONS | grep -qE '\bsoft\b' && echo "soft" || echo "hard"
2
ответ дан 23 July 2018 в 21:00

Другие вопросы по тегам:

Похожие вопросы: