- SetEnvVariable.sh
- MigrationOperator.sh
Код: Выделить всё
export CONNECT_POD_RESOURCE_NAME="connect-200"
Код: Выделить всё
source ./SetEnvVariable.sh
Если в моем MigrationOperator.sh у меня есть код, подобный приведенному ниже,
Код: Выделить всё
echo $CONNECT_POD_RESOURCE_NAME
var=$CONNECT_POD_RESOURCE_NAME
echo $var
var+=",1/1,RUNNING"
echo $var

Этот результат для меня неожиданный, поскольку я ожидал, что при последнем echo $var должно иметь правильное объединенное значение.Однако
если мой скрипт MigrationOperator имеет код типа:
Код: Выделить всё
export CONNECT_POD_RESOURCE_NAME="connect-200"
echo $CONNECT_POD_RESOURCE_NAME
var=$CONNECT_POD_RESOURCE_NAME
echo $var
var+=",1/1,RUNNING"
echo $var

Я не понимаю, когда переменная CONNECT_POD_RESOURCE_NAME (а позже var) имеет правильное значение, как происходит конкатенация строк в одном случае работает нормально, а в другом нет?
И как лучше установить переменные в отдельном скрипте (вот в этом, например, SetEnvVariable.sh) ) и при этом иметь возможность использовать его (напрямую или путем манипуляции со строками) в вызывающем скрипте?
Подробнее здесь: https://stackoverflow.com/questions/785 ... ell-script
Мобильная версия