[[ "$SERVER_NAME=crowd.server.com" ]]
é sempre true (testa se $SERVER_NAME=crowd.server.com
se expande para uma string não vazia). Você quis dizer [[ "$SERVER_NAME" = "crowd.server.com" ]]
.
Se você deseja executar diferentes processamentos para diferentes nomes de servidores, use case
:
case "$SERVER_NAME" in
crowd.server.com)
echo -e "\e[1mCrowd backup running ...\e[0m"
…
;;
jira.server.com)
echo -e "\e[1mJira backup running ...\e[0m"
…
;;
…
esac
Se você deseja executar o mesmo comando para vários nomes, é possível usar vários padrões separados por |
. Você pode usar curingas de shell nos padrões, por exemplo,
case "$SERVER_NAME" in
crowd.server.com|jira.server.com)
echo -e "\e[1mBackup running in ${SERVER_NAME%.*}...\e[0m"
…
;;
*.mysubdomain.server.com)
echo -e "\e[1mBackup running in mysubdomain...\e[0m"
…
;;
…
esac