Какая точка монтирования файловой системы я в настоящее время продолжаю работать?

Как общая практика, создавая файл и ожидая, что ОС не ударит, это, если это существует, не является хороший способ протестировать, если это существует.

Вы были бы лучше обслужены с:

if [ -f $lockfile ]; then
  exit_normally "instance is running"
else
  echo "no instance is running"
fi

Однако, если бы Вы пытаетесь использовать существование файла как lockfile, Вы, вероятно, были бы более обеспеченным использованием Unix lockfile команда:

lockfile -r 0 $lockfile
if [ $? -ne 0 ]; then
  exit_normally "instance is running"
else
  echo "no instance is running"
fi
4
31.10.2014, 11:17
2 ответа

Вы направляете выходные данные из echo «some info» > final.csv в cat temp.csv > > final.csv , поэтому эти две команды ( echo и cat ) выполняются параллельно.

Из-за этого то, что окажется в final.csv , зависит от того, какая программа будет запланирована. Необходимо заменить | на ; . И тогда команда echo будет выполняться до завершения, и только тогда cat будет запущен.

-121--84559-

| среднее значение pipe = = выходной сигнал предыдущей команды , поданной на следующий ввод команды. Если используется > final.csv , то выходные данные echo перенаправляются в файл и не могут быть переданы. Итак, чтобы исправить вас свободно использовать 2 команды отдельно, как вы предложили выше или использовать трубу, если вы хотите

echo "some info" | cat - temp.csv > final.csv

Другие сделать то же самое

cat - temp.csv <<<"some info" > final.csv
-121--84560-

Я думаю df. - ваш лучший вариант. Проверка использования файловой системы не является настолько дорогостоящей (она не должна считать какие-либо блоки на диске, эта информация легко доступна и хранится в памяти после установки файловой системы).

Такие альтернативы, как сравнение текущего пути с точками монтирования с помощью сценария, будут более дорогостоящими.

8
27.01.2020, 20:48

Не уверены, что вы подразумеваете под «какой файловой системой».

Если это означает, какой экземпляр файловой системы, а затем с использованием DF $ (PWD) может быть вашим лучшим ставкам, за исключением случаев, когда вы знаете, что файл, который вы проверяете, на самом деле - это точка монтирования, чем Использование MountPoint $ (PWD) может быть лучшей идеей.

Если это означает, какой тип файловой системы, затем используйте обычную утилиту Linux , оно только проверяет файлы, которые вы даете в качестве аргументов, и он также поддерживает информацию о печати файловой системы, приведенный любой тип файла, просто введите?

stat -f $(pwd)

Если вам нужно получить тип файловой системы к данному файлу программно, попробуйте один из них:

LC_ALL=C stat -f $(pwd) | awk '/\<Type: /{print $6}'

SED или простое расширение шаблона оболочки также может использоваться для анализа типа с вывода статуса.

2
27.01.2020, 20:48

Теги

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