Theoretisch stat
teilt Ihnen mit, auf welchem Gerät sich die Datei befindet, und es sollte eine Möglichkeit geben, das Gerät einem Einhängepunkt zuzuordnen.
Unter Linux sollte dies beispielsweise funktionieren:
stat -c '%m' $path
df
nimmt den Pfad als Parameter, also sollte so etwas ziemlich robust sein;
df "$path" | tail -1 | awk '{ print $6 }'
Ich war schon immer ein Fan davon, Formatierungsoptionen eines Programms zu verwenden, da dies robuster sein kann, als die Ausgabe zu manipulieren (z. B. wenn der Einhängepunkt Leerzeichen enthält). GNU df
erlaubt Folgendes:
df --output=target "$path" | tail -1
Leider sehe ich keine Option, um das Drucken eines Headers zu verhindern, also ist der Tail immer noch erforderlich.