Respostas:
Baseado em Como verificar se dois diretórios ou arquivos pertencem ao mesmo sistema de arquivos ( /unix// ):
Em um script de shell no Linux, isso pode ser feito com stat :
stat -c "%d" /path # returns the decimal device number
Então você pode:
file1=$(stat -c "%d" /path/file1)
file2=$(stat -c "%d" /path/file2)
e então compare.
Você também pode escrever assim:
if [ $(stat -c "%d" /path/file1) -eq $(stat -c "%d" /path/file1) ]
then
# mv sentence
fi
Outra opção. Também retirado da pergunta Stackexchange :
if [[ $(df -P /path/file1 | tail -1) = $(df -P /path/file2 | tail -1) ]]
then
# echo "same filesystem"
# mv sentence
fi
$(...)
vez de `...`
. O último é preterido em favor do primeiro.
stat
me diz que às vezes é complicado, pelo menos com o SunOS. Mas sendo Linux, espero que seja compatível. Com o meu Ubuntu 12 está tudo bem.
%d
gera valores diferentes para diferentes diretórios (até a mesma partição) tente com o seu /
e/tmp