Если я правильно понял, вы хотите передать аргумент (смонтированный том) вашему сценарию. Вот очень простой пример ( dfScript.sh
) того, как я бы это сделал:
#!/bin/bash
# Get the volume from command line
volume="$1"
df -h "$volume" | egrep -o '[0-9]+%'
exit 0
Вызов этого будет примерно так:
./dfScript.sh /home/
12%
$ 1
- это первый аргумент, переданный скрипту, в этом случае я использовал свой каталог / home
в качестве примера, но вы, конечно, можете указать путь к любому тому.
Кроме того, вам действительно не нужно назначать $ 1
переменной, чтобы использовать ее, я только что сделал это выше для ясности.
Подробнее о передаче аргументов в bash можно прочитать здесь .
intr
должен позволить вам снова получить управление, когда вы нажмете ^C
, но обычно не сразу.
intr Если файловая операция NFS имеет основной таймаут, и она жестко смонтирована, то разрешите сигналам прерывать файловую операцию и заставить ее вернуть EINTR вызывающей программе. По умолчанию не разрешается прерывать файловые операции.
Как вы говорите, проблема здесь в ожиданиях. Проблемы с сетью могут быть временными, но сбой операции - это навсегда. Поэтому большинство операций по умолчанию просто блокируются до завершения операции.
Это стандартный ответ, но, посмотрев текущую страницу man, я вижу следующее:
Опция монтирования intr / nointr устарела после версии ker-... nel 2.6.25. Только SIGKILL может прервать текущую операцию NFS на этих ядрах, и если она указана, эта опция монтирования опция игнорируется, чтобы обеспечить обратную совместимость со старыми ядрами.
Таким образом, мне кажется, что это не проблема NFS3/NFS4, а решение о том, как работает intr
. Поэтому вы должны быть в состоянии KILL
процесс, но это может не дать вам много пользы.
Я не смог найти обсуждение того, почему эта опция была удалена. Можете ли вы убить -KILL
свой процесс?Часть моего ответа - это мнение, основанное на опыте. Там, где у меня есть факты, я буду (постараюсь не забыть) давать на них ссылки.
soft
практически ни при каких обстоятельствах. Он позволяет отбрасывать данные при ошибке. Вместо этого я бы предложил hard, intr
. intr
не подходит для NFS 4, но, похоже, это изменение ядра, а не NFS. autofs
) хорошо работает для моих случаев использования с NFS версий 2 и 3, и помогает защитить мои клиентские системы от сбоя сервера, монтируя файловые системы NFS только тогда, когда они необходимы. Я предлагаю вам рассмотреть возможность перехода с NFS 4 на NFS 3 и посмотреть, поможет ли это в вашем конкретном случае. Не думайте об этом как о понижении.