Aquí es mi guión:shell script de Expansión de tilde
#!/bin/bash
echo "Digite o local em que deseja instalar o IGRAFU(pressione enter para
instalar em
${HOME}/IGRAFO):"
read caminho
if test -z $caminho
then
caminho="${HOME}/IGRAFO"
fi
echo "O IGRAFU será instalado no diretório: $caminho"
mkdir -pv $caminho
mv -v ./* $caminho
echo "Pronto!"
A 'leer Caminho' I podrán recibir del usuario una ruta como ~/SomeFolder. Cuando el script recibe ese tipo de ruta, tanto mv como mkdir no harán la expansión de tilde, por lo que intentará crear una ~/somefolder y no/home/username/somefolder y, por lo tanto, fallará.
¿Cómo me aseguro de que la tilde se convierta en la variable HOME?
Suponiendo que todos los directorios de los usuarios domésticos tienen un directorio padre común es una muy mala suposición. –