Risposte:
Basato su Come verificare se due directory o file appartengono allo stesso filesystem ( https://unix.stackexchange.com/ ):
In uno script shell su Linux può essere fatto con stat :
stat -c "%d" /path # returns the decimal device number
Così puoi:
file1=$(stat -c "%d" /path/file1)
file2=$(stat -c "%d" /path/file2)
e quindi confrontare.
Puoi anche scrivere così:
if [ $(stat -c "%d" /path/file1) -eq $(stat -c "%d" /path/file1) ]
then
# mv sentence
fi
Altra opzione Tratto anche dalla domanda StackExchange :
if [[ $(df -P /path/file1 | tail -1) = $(df -P /path/file2 | tail -1) ]]
then
# echo "same filesystem"
# mv sentence
fi
$(...)
invece di `...`
. Il successivo è deprecato a favore del primo.
stat
mi dice che a volte è complicata, almeno con SunOS. Ma essendo Linux spero che sia compatibile. Con il mio Ubuntu 12 va bene.
%d
emette valori diversi per directory diverse (anche la stessa partizione) prova con il tuo /
e/tmp