O Bash tem uma opção -n isso vai
Read commands but do not execute them. This may be used to check a script for syntax errors.
Ele irá gerar stderr e setar $? para 2, se houver um problema de sintaxe. Você poderia usá-lo em .bash_profile assim:
bash -n .bash_profile
if [[ $? -ne 0 ]]
then
# handle an error
fi
Com base na sequência de comentários, não posso deixar de adicionar uma sugestão para adicionar essas variáveis globais de uma maneira diferente. Considere um caso um pouco planejado, em que o perfil .bash_profile do usuário teve um "retorno" no final dele. Anexar qualquer coisa (como atribuições de variáveis) seria ignorado por invocações futuras do bash. Considere colocar essas variáveis globais em / etc em algum lugar (como /etc/profile.d, supondo que esses arquivos sejam originados por seu / etc / profile); Dessa forma, você pode defini-los com base em várias sintaxes de shell (csh, bash) e não precisa verificar se eles estão definidos nos ambientes do usuário OU mexer em seus arquivos de ambiente.
Outra alternativa seria colocar essas atribuições de variáveis globais em um arquivo / etc customizado de sua escolha e incluir o código nos arquivos .bash_profile para origem desse arquivo, se ele existir. Isso tem a mesma desvantagem do seu plano atual - editar os arquivos locais do usuário - mas adicionou flexibilidade para usar diferentes arquivos globais para diferentes usuários / cenários.