В общей современной среде Unix (скажем, GNU / Linux, GNU / Solaris или Mac OS X) существует ли хороший способ определить, к какой точке монтирования и типу файловой системы относится конкретный абсолютный путь к файлу?
Я полагаю, что мог бы выполнить mount
команду и вручную проанализировать вывод этой строки и сравнить ее со строкой моего пути к файлу, но прежде чем я это сделаю, мне интересно, есть ли более элегантный способ.
Я разрабатываю сценарий BASH, который использует расширенные атрибуты, и хочу, чтобы он делал все правильно (в малой степени, насколько это возможно) для различных файловых систем и хост-сред.
df -P
должен производить стандартизированный вывод в любой POSIX-совместимой системе. В некоторых глупых системах может потребоваться установка магической переменной среды, такой как POSIXLY_CORRECT.