Respuestas:
Basado en Cómo verificar si dos directorios o archivos pertenecen al mismo sistema de archivos ( /unix// ):
En un script de shell en Linux se puede hacer con stat :
stat -c "%d" /path # returns the decimal device number
Así que puedes:
file1=$(stat -c "%d" /path/file1)
file2=$(stat -c "%d" /path/file2)
y luego comparar.
También puedes escribir así:
if [ $(stat -c "%d" /path/file1) -eq $(stat -c "%d" /path/file1) ]
then
# mv sentence
fi
Otra opción. También tomado de la pregunta de Stackexchange :
if [[ $(df -P /path/file1 | tail -1) = $(df -P /path/file2 | tail -1) ]]
then
# echo "same filesystem"
# mv sentence
fi
$(...)
lugar de `...`
. El último está en desuso a favor del primero.
stat
me dice que a veces es complicado, al menos con SunOS. Pero siendo Linux espero que sea compatible. Con mi Ubuntu 12 está bien.
%d
produce diferentes valores para diferentes directorios (incluso la misma partición) intente con su /
y/tmp