Вызов других скриптов с исходным текстом и обусловливание вызова с помощью операторов if

Это должно сработать. Раньше я без проблем использовал эту точную команду для смонтированных файловых систем. Разве вы не можете поместить программу где-нибудь, в которой уже включен exec?

1
19.11.2016, 20:22
1 ответ

[["$ SERVER_NAME = crow.server.com"]] всегда истинно (он проверяет, расширяется ли $ SERVER_NAME = crow.server.com до непустого нить). Вы имели в виду [["$ SERVER_NAME" = "crow.server.com"]] .

Если вы хотите выполнить разную обработку для разных имен серверов, вы можете использовать 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

Если вы хотите выполнить одну и ту же команду для нескольких имен, вы можете использовать несколько шаблонов, разделенных | . В шаблонах можно использовать подстановочные знаки оболочки, например

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
1
27.01.2020, 23:46

Теги

Похожие вопросы