caminho de exportação do Mac OSX .bash_profile com espaços

1

Provavelmente estou fazendo algo óbvio errado aqui.
Em $ HOME / .bash_profile eu adicionei (observe o espaço no caminho):

export PROJ="~/Documents/project livefeed"

Depois disso, obtenho:

➜  ~ cd $PROJ                  
cd: no such file or directory: ~/Documents/project livefeed

Alguma ideia do que está errado? Eu tentei adicionar uma barra invertida antes do espaço entre aspas, mas isso também não ajudou.

A pasta existe:

➜  ~ cd ~/Documents/project\ livefeed
➜  project livefeed 

Também apliquei:

➜  ~ source $HOME/.bash_profile
    
por Kim Gysen 15.03.2018 / 20:21

2 respostas

1

~ não é expandido dentro de "" . Para fazer isso funcionar, use

export PROJ=~/"Documents/project livefeed"
    
por 15.03.2018 / 22:19
0

Este é um recurso encantador (ou verruga lamentável) de shells POSIX. Você precisará sempre citar a variável $PROJ (assim cd "$PROG" em todos os lugares e hora em que você interpolar essa variável) ou usar algum outro shell como ZSH que não faça a palavra POSIX .

% mkdir "a dir"
% dir="a dir"
% cd $dir
% pwd
/Users/jhqdoe/tmp/a dir
% cd ..
% bash
bash-3.2$ dir="a dir"
bash-3.2$ cd $dir
bash: cd: a: No such file or directory
bash-3.2$ exit
exit
% 
    
por 15.03.2018 / 20:35