Essayez de remplacer ~
avec $HOME
. Tilde expansion ne se produit que lorsque le tilde est non cotées. Voir info "(bash) Tilde Expansion"
.
Vous pouvez également faire de file=~/Desktop
sans le citant, mais si jamais vous remplacer une partie de ce à quelque chose avec un séparateur de champ, alors il va se casser. Citant les valeurs des variables est probablement une bonne chose de prendre l'habitude de toute façon. Citant variable file=~/"Desktop"
fonctionne également, mais je pense que c'est plutôt laid.
Une autre raison de préférer $HOME
, quand c'est possible: tilde expansion ne se produit au début des mots. Donc, command --option=~/foo
ne fonctionnera que si command
ne tilde expansion elle-même, qui varient selon la commande, tout en command --option="$HOME/foo"
le sera toujours.