Como apéndice a @Gordon Davidson respuesta:
Desde la Página Man de Bash:
EXPANSIÓN
La expansión se realiza en la línea de comandos después de que se ha dividido
en las palabras. Hay siete tipos de expansión realizado: llave de
la expansión, la expansión de tilde, parámetro y variable de expansión, comando
la sustitución, expansión aritmética, la palabra de la división, y la ruta de acceso
la expansión.
Tilde Expansión
Si una palabra comienza con un sin comillas carácter de tilde (`~'), todos de la
los caracteres anteriores a la primera sin comillas barra (o todos los caracteres,
si no hay no cotizados barra) son considerados un símbolo de prefijo. Si ninguno
de los personajes de la tilde-prefijo que se citan, los personajes en
la tilde-prefijo tras la tilde se tratan como un posible
nombre de inicio de sesión. Si este nombre de inicio de sesión es la cadena nula, la tilde se
reemplazado con el valor del parámetro de shell de INICIO. Si la CASA es
no se especifica el directorio home del usuario que ejecuta el shell es
sustituido en su lugar. De lo contrario, la tilde-prefijo es reemplazado con el
directorio de inicio asociado con el especificado de nombre de inicio de sesión.
Si la tilde-prefijo es una ~+', the value of the shell variable PWD
replaces the tilde-prefix. If the tilde-prefix is a
~-', el valor
de la variable de shell OLDPWD, si se establece, es sustituido. Si el
los caracteres siguientes de la tilde en el símbolo del prefijo se compondrá de un número
N, opcionalmente precedido por un +' or a
-', la tilde-prefijo es
reemplazado por el correspondiente elemento del directorio de la pila, como
sería mostrada por el dirs builtin invoca con el
tilde-prefijo como un argumento. Si los caracteres siguientes
tilde la tilde-prefijo que constan de un número sin un líder +' or
-', `+' es de suponer.
Si el nombre de inicio de sesión no es válida, o la tilde de expansión de la falla, la palabra
es invariable.
Cada asignación de variable se comprueba sin comillas tilde-prefijos
inmediatamente después de que : o la primera =. En estos casos,
tilde la expansión también se realiza. En consecuencia, uno puede utilizar el archivo
en los nombres de las tildes en las asignaciones a la RUTA, MAILPATH, y CDPATH, y
el shell asigna el valor expandido.