Я работаю над скриптом, чтобы создать вид четкого отображения и выполнить некоторые другие функции.Как передать параметры для вызова при вызове с помощью «exec» в сценарии bash
В функции setview, когда используется внутри сценария, для выполнения операций на представлении, формат рекомендуется команда
cleartool setview -exec "commands" view_name
Для «команды», то я хочу использовать функцию, определенную в тот же сценарий оболочки перед этим вызовом. Кажется, что это не работает, когда я делаю следующее:
cleartool setview -exec "function_name(var1, var2)" view_name
Итак, вопрос у меня есть: может быть функция используется с командой «ехес», и если это возможно, что синтаксис?
В одном из ответов SO в нем упоминается не использовать setview, а использовать startview. Поскольку я не знаю разницы между ними, и мне нужно выполнить другие действия в скрипте, я был бы признателен за любую помощь, если я не буду использовать setview exec mecxhanism.
Причина, по которой я пытаюсь использовать функцию вместо другого сценария оболочки, вызываемого из «exec», заключается в том, что при использовании функции мне не нужно экспортировать переменные, которые могут использоваться вызываемым скриптом, поскольку функция определяется в том же скрипте, который вызывает команду setview.
Вы имеете в виду команду 'bash'' exec', или '-exec' для' cleartool'? – cdarke
Не зная о том, как cleartool реализует опцию '-exec', кажется маловероятным, что вы сможете использовать функцию оболочки таким образом (или вообще). Поскольку cleartool - отдельная утилита, а не часть оболочки, она не имеет доступа к среде оболочки и может только реализовать опцию exec, создав новую подоболочку; в этой подоболочке функция не будет определена. (Bash позволяет экспортировать функции в bash subshells, но нет гарантии, что подоболочка, начатая cleartool, использует bash. И даже при этом вам нужно экспортировать все, включая функцию.) – rici
@cdarke - я имею в виду '-exec 'option to' cleartool' – adbdkb