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.