В вашем скрипте для создания контекста строка
echo "echo "MY_VARIABLE=$MY_VARIABLE"" >> test.sh
создает следующую строку в test.sh
:
echo MY_VARIABLE=
, если MY_VARIABLE
ранее не было установлено.Расширение $MY_VARIABLE
выполняется в оболочке, которая подготавливает ваш контекст.
Если вы используете одинарные кавычки
echo 'echo "MY_VARIABLE=$MY_VARIABLE"' >> test.sh
, скрипт test.sh
содержит правильную строку
echo "MY_VARIABLE=$MY_VARIABLE"
и печатает MY_VARIABLE=something
как положено.