Я устанавливаю среду тестирования для сайта travis-ci с помощью Ubuntu.
Команды тестирований инкапсулируются в /home/travis/test_build.sh
файла, в котором я пытаюсь вызвать скрипт , который устанавливает переменные . ./checkout.sh
вроде объяснено здесь
Во время выполнения checkout.sh
переменные устанавливаются правильно, но когда скрипт завершает свое выполнение, я вижу, что они возвращаются к пустым (в /home/travis/test_build.sh
где они мне действительно нужны).
Как правильно создать сценарий в этом случае? Есть ли какие-либо настройки, которые я должен проверить, чтобы включить поиск?
Краткий пример /home/travis/test_build.sh
#!/bin/bash
echo "what is 0: $0"
set -x
. ./checkout.sh
echo "COMP_ARCH=$COMP_ARCH"
echo "FRAME_BASE=$FRAME_BASE"
Краткий пример checkout.sh
:
#!/bin/bash
echo "what is 0: $0"
set -e
export COMP_ARCH=slc6_amd64_gcc493
eval `scramv1 runtime -sh` # link scramv1 is set to some other script which is not mine, starts with `#!/bin/sh` and which is supposed to set some additional variables as FRAME_BASE
echo "COMP_ARCH=$COMP_ARCH"
echo "FRAME_BASE=$FRAME_BASE"
Вывод после выполнения /home/travis/test_build.sh
будет тогда:
what is 0: /home/travis/test_build.sh
what is 0: /home/travis/test_build.sh
COMP_ARCH=slc6_amd64_gcc493
FRAME_BASE=/home/1234/wer/base
COMP_ARCH=slc6_amd64_gcc493
FRAME_BASE=