Описание тега cddb
Ответ Жиль-это (ИМХО) блестящий (как всегда), но, поскольку вы не выбрать его или даже до голосования он, возможно, вы найдете это слишком сложно. Так вот несколько (простых) очков, которые могут или не могут быть полезны, и могут помочь вам избежать сохранения двух отдельных скриптов, которые могли бы превратиться в безумие для большого сценария, который должен быть сохранен в течение длительного периода времени.
1) экс машины могут иметь Баш
установлен, даже если он не по умолчанию оболочка для интерактивного использования. (Экс машины я работаю у Баш
установлен, но я не знаю, если он пришел, что путь сисадмины добавил он. Я предполагаю, что он пришел на него, так как все наши специалисты-это КШ
нариков.) И я готов поспорить, что и RHEL машины КШ
установлены. Проверьте, если вы можете использовать ту же оболочку на обеих машинах это сэкономит вам много хлопот.
2) Если вы не знаете, где раковина будет установлена, не поставив его путь непосредственно на линии притон. Вместо того, чтобы положить путь к ОКР
и оболочки исполняемого файла после этого, вот так:
#!/usr/Бен/ОКР Баш
Это должно работать на обеих машинах, но вы должны проверить его, чтобы убедиться. (Место для ОКР
якобы более стандартный, чем расположение на баш
или совсем другие вещи.)
Как только вы используете тот же снаряд на обеих машинах, то проблема может быть решена прямо там. Но если нет...
3) Вы можете разбить ваши платформо-зависимый код в функции, источник в основной сценарий. Это означает, что хотя сценарий может иметь много мест, где вещи работают по-разному в зависимости от того, будет ли он работать на AIX и RHEL, вам не нужно повторно проверить платформу. Просто сделайте это один раз, и источник соответствующих функций:
случае $ОС в
"Экс")
aix_functions источник;;
"Линукс")
redhat_functions источник;;
"*")
Эхо "выхода. Тип операционной системы не найден.";;
эсок
Теперь вы можете использовать любые функции, которые вы получены, все за свой сценарий, не было еще случая
заявление, чтобы различать между платформами:
do_something_platform_specific "$SOME_ARGUMENT" "$SOME_OTHER_ARGUMENT"