2011-10-12 15 views
20

Chcę ustawić zmienną środowiskową, która ma w sobie spację. jest to ścieżka do folderu i nazwą folderu jest: /home/mehrabib/mój filmUstaw zmienną środowiskową ze spacją linux

edytować .bashrc i dodać do niego następującą linię:

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

i uruchomić następujące polecenia:

echo $VIDEO 
cd $VIDEO 

wynik jest:

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

zmienić go

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

i uruchomić te polecenia:

echo $VIDEO 
cd $VIDEO 

wynik jest:

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

co należy zrobić?

+1

Owiń ją w cudzysłowie, jak 'VAR = "/ home/mehrabib/mój film"' – birryree

Odpowiedz

24

Należy zrobić

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

i podsumować komentarze Dana się również zrobić

cd "$VIDEO" 

który rozwinie się

cd "/home/mehrabib/my video" 

ponownie.

Osobiście preferuję składnię $ {VIDEO}.

+1

'' $ 'nie jest potrzebne. –

+2

'' '' jest potrzebne, gdy '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'cd" VIDEO "' nie działa. –

1

Spróbuj zacytować VIDEO: cd "$VIDEO".

+2

i zrobić to samo na 'archiwizacji ="/home/mehrabib/moje wideo "' –

6

Możesz również zastąpić znaki specjalne - użyj * jako symbolu zastępczego, aby zastąpić spację.

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

+0

... chyba że masz tam inny katalog, który zaczyna się od "m" i kończy na "o"; jak "mono" :) – user2023370

+2

Mam do czynienia z tym na Mac OSX, dla mnie cytaty nie działa, zamiast * pracował symbol. – AbrahamJP

Powiązane problemy