Плохая замена с использованием sh

#sh

#sh

Вопрос:

У меня есть следующий скрипт, и я получаю следующую ошибку: Ошибка: неправильная замена

 value="$(cat temp.txt)"
valueWOBegin="$(echo ${value/*====BUILDTYPES====/})"
valueWOEnd="$(echo ${valueWOBegin/====END BUILDTYPES====*/})"
 

Это temp.txt файл

====BUILDTYPES==== [BuildType_Decorated{name=debug, debuggable=true, testCoverageEnabled=false, jniDebuggable=false, псевдолокалесенаближенный=false, renderscriptDebuggable=false, renderscriptOptimLevel=3, minifyEnabled=false, zipAlignEnabled=true, signingConfig=SigningConfig_Decorated{name= отладка, файл хранилища=/mypath/ debug.хранилище ключей, storePassword=android, keyAlias=AndroidDebugKey, keyPassword=android, storeType= jks, v1SigningEnabled=true, v2SigningEnabled=true, v1SigningConfigured=false, v2SigningConfigured=false}, embedMicroApp=false, mBuildConfigFields={}, mResValues={}, mProguardFiles=[], mConsumerProguardFiles=[], mManifestPlaceholders={}}, BuildType_Decorated{name=release, debuggable=false, testCoverageEnabled=false, jniDebuggable=false, pseudoLocalesEnabled=false, renderscriptDebuggable=false, renderscriptOptimLevel=3, minifyEnabled=true, zipAlignEnabled=true, signingConfig=null, embedMicroApp=true, mBuildConfigFields={ }, mResValues={}, mProguardFiles=[/mypath/proguard-rules.pro], mConsumerProguardFiles=[], mManifestPlaceholders={}}] ====КОНЕЧНЫЕ ТИПЫ СБОРКИ ====

Комментарии:

1. ${variable/string/} расширение работает не во всех sh реализациях. С bash или ksh это будет работать нормально.

2. Есть ли у меня какая-либо альтернатива с использованием sh? Я запускаю этот скрипт в контейнере.

3. Как насчет ${value##*====BUILDTYPES====} and ${value%%====END BUILDTYPES====*} ? Предполагается, что они должны работать на всех оболочках POSIX, но я не уверен, что они именно то, что вы ищете.