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}