скрипт не запускается при выполнении в прозрачном регистре

Я пытаюсь выполнить следующий скрипт сборки, и он не возвращает ошибок, но не выполняет скрипт внутри него. есть тег представления со следующим именем. это видно с cleartool lsview <view-tag>. Я могу сделать cleartool setview <view-tag>, но он не запускает sh /abc/cds/fg/bin/ant -t all.

CLEARCASE_VIEWNAME=NYC_CYN

cleartool setview -exec newgrp оранжевый; компакт-диск /abc/cds/fg/bin; sh /abc/cds/fg/bin/ant -t all -i ' ' $CLEARCASE_VIEWNAME

Спасибо за любую помощь!


person user2370590    schedule 29.03.2014    source источник


Ответы (1)


Во-первых, не используйте setview. Он запускает вспомогательную оболочку, которая плохо работает со сценариями.
См. "Python и ClearCase setview" для конкретного примера того, как порождение процесса имеет побочные эффекты, когда дело доходит до сценариев.

Используйте cleartool startview <view-tag>, чтобы убедиться, что ваше динамическое представление запущено, а затем используйте полный путь представления:

/view/<view-tag>/vobs/YourVobs/....

В твоем случае:

newgrp orange; 
cd /view/<view-tag>/vobs/abc/cds/fg/bin
sh /view/<view-tag>/vobs/abc/cds/fg/bin/ant -t all -i ' '
person VonC    schedule 29.03.2014
comment
VonC, Но я не пользуюсь виндой. это оболочка unix ksh, которую jenkins собирает удаленно. Мне все еще нужен cleartool startview ‹view-tag›? Спасибо за быстрый ответ - person user2370590; 30.03.2014
comment
@user2370590 user2370590 это ответ для Unix с Unix-путями. - person VonC; 30.03.2014
comment
@user2370590 user2370590 startview не является обязательным, просто предосторожность. И setview ничего тебе здесь не приносит, одни неприятности. Лучше использовать полный путь к представлению вместо того, чтобы пытаться смонтировать его содержимое на '/' (что делает setview в подпроцессе). - person VonC; 30.03.2014
comment
скрипт не запускается после запуска представления и указания полного пути /view/$CLEARCASE_VIEWNAME/...... - person user2370590; 30.03.2014
comment
@ user2370590, тогда проблема не в setview или starview. Вы должны сначала попробовать запустить этот сценарий вручную, чтобы увидеть, какая команда действительно работает (может быть, без sh?). Но опять же, используя полный путь представления. - person VonC; 30.03.2014