Intente reemplazar ~
con $HOME
. La expansión de Tilde solo ocurre cuando la tilde no está citada. Ver info "(bash) Tilde Expansion"
.
También puede hacer file=~/Desktop
sin citarlo, pero si alguna vez reemplaza parte de esto con algo con un separador de campo, se romperá. Citar los valores de las variables es probablemente una buena cosa para acostumbrarse de todos modos. Citar la variable file=~/"Desktop"
también funcionará, pero creo que es bastante feo.
Otra razón para preferir $HOME
, cuando sea posible: la expansión de tilde solo ocurre al comienzo de las palabras. Por lo tanto, command --option=~/foo
solo funcionará si command
realiza la expansión de tilde, que variará según el comando, mientras que command --option="$HOME/foo"
siempre funcionará.
Cambié el título para hacerlo más descriptivo. –
Posible duplicado de [la expansión de Tilde no funciona en Bash] (https://stackoverflow.com/questions/5748216/tilde-expansion-not-working-in-bash) – codeforester