O relativo não é uma boa ideia - os caminhos relativos são relativos ao diretório de trabalho atual, não ao seu diretório pessoal. Portanto, se você tiver cd
em ~/Documents
, isso significaria ~/Documents/.linuxbrew/…
. Não o que você quer.
O segundo também não funciona, por causa de como as citações funcionam. A expansão de ~
é algo que se espera que o shell faça - geralmente, não deveria transformá-lo em uma variável de ambiente. Mas citando isso, você evitou essa expansão. Você precisa deixar o bit ~/
fora das cotações ou o uso alternativo $HOME
(que será expandido entre aspas duplas. Portanto, qualquer um desses deve funcionar (pelo menos se $HOME
estiver definido como seu diretório inicial, que quase sempre é):
HADOOP_HOME="$HOME/.linuxbrew/Cellar/hadoop/2.7.3/libexec/etc/hadoop/"
HADOOP_HOME=~/".linuxbrew/Cellar/hadoop/2.7.3/libexec/etc/hadoop/"
Pessoalmente, acho o primeiro mais fácil de ler. Existe uma terceira opção - você não precisa de citações aqui; não há nenhum caractere especial no nome. Então está tudo bem (e perfeitamente legível) também:
HADOOP_HOME=~/.linuxbrew/Cellar/hadoop/2.7.3/libexec/etc/hadoop/
Lembre-se também de exportar a variável ( export HADOOP_HOME
).