web-dev-qa-db-fra.com

Définir la variable d'environnement avec de l'espace sous Linux

Je veux définir une variable d'environnement qui contient de l'espace. c'est un chemin vers un dossier et le nom du dossier est:/home/mehrabib/ma vidéo

J'édite .bashrc et j'y ajoute la ligne suivante:

export $VIDEO=/home/mehrabib/my\ video

et exécutez ces commandes:

echo $VIDEO
cd $VIDEO

le résultat est:

/home/mehrabib/my video
/home/mehrabib/my :no such file or directory

Je le change en

export $VIDEO=/home/mehrabib/my\\\ video

et exécutez ces commandes:

echo $VIDEO
cd $VIDEO

le résultat est:

/home/mehrabib/my\ video
/home/mehrabib/my\ :no such file or directory

que devrais-je faire?

41
babak6

Tu devrais faire

export VIDEO="/home/mehrabib/my video"

et pour résumer les commentaires de Dan font aussi

cd "$VIDEO"

qui s'étendra à

cd "/home/mehrabib/my video"

encore.

Personnellement, je préfère le ${VIDEO} syntaxe.

42
Nodebody

Vous pouvez également remplacer des caractères spéciaux - utilisez * comme caractère générique pour remplacer l'espace.

VIDEO = "/ home/mehrabib/m * o"

9
agency

Essayez de citer VIDEO: cd "$VIDEO".

1
cnicutar