set MONGODB="/usr/local/mongodb/bin"
Esta não é uma atribuição de variável. (É um em shell C (csh, tcsh), mas não em shells no estilo Bourne (sh, ash, bash, ksh, zsh,…).) Essa é uma chamada para o set
integrado, que define os parâmetros posicionais, ou seja, $1
, $2
, etc. Tente executar este comando em um terminal e, em seguida, echo $1
.
Para atribuir um valor a uma variável shell, basta escrever
MONGODB="/usr/local/mongodb/bin"
Isso cria uma variável de shell (também chamada de parâmetro (nomeado)), que você pode acessar com $MONGODB
. A variável permanece interna no shell, a menos que você tenha exportado com export MONGODB
. Se exportada, a variável também é visível para todos os processos iniciados por esse shell, através do ambiente . Você pode condensar a atribuição e a exportação em uma única linha:
export MONGODB="/usr/local/mongodb/bin"
Para o que você está fazendo, não parece haver necessidade de MONGODB
fora do script e PATH
já foi exportado (uma vez que uma variável é exportada, se você atribuir um novo valor, ela é refletido no meio ambiente). Então você pode escrever:
MONGODB="/usr/local/mongodb/bin"
PATH=${PATH}:${MONGODB}