2010-10-21 4 views
5

Dans mon fichier .sh, j'ai ceci, cp $file $SOME_PATH, tandis que $ SOME_PATH est exporté comme export SOME_PATH="~/path/to/path/". Mais quand j'ai couru ce fichier .sh, j'ai reçu un message d'erreur disant "non tel" ~/chemin/vers/chemin/"existe. * J'ai remplacé ~ comme $ HOME, alors l'erreur était partie. Alors quoi de neuf ici avec le tilde?expansion de tilde dans la variable d'environnement

Merci d'avance.

Répondre

7

utilisation

SOME_PATH=~/path/to/path/ 

si le chemin que vous avez des espaces, citer

SOME_PATH=~/"path with spaces" 
+0

"chemin avec espace" -> chemin \ avec \ espace –

+0

+1, cela fonctionne. – codaddict

1

Retirez les guillemets sur votre exportation:

export SOME_PATH=~/path/to/path/ 
+0

Merci, mais cela ne semble pas disponible, que ce soit . – dutor

+0

Oh, désolé. En fait, j'ai utilisé le fichier cp $ "$ SOME_PATH".^_^ – dutor

+0

Est-ce que cela fonctionne avec toutes les guillemets supprimés? Vous devez essentiellement empêcher l'interprétation littérale. – chrisaycock