我使用cat从环境变量创建文件。
cat <<EOF > config
environment = ${ENVIRONMENT:-dev}
EOF
我需要dev,即使它是development
或develop
。我无法修剪它,因为它有其他可能的值,如qa
,demo
,staging
等。
请注意:在我的环境中,我不能使用if语句。它用在Jenkins Execute Shell中,我有一个参数化构建,使用if会要求我重复上面的cat,多次
任何简单的方式伙计..
的问候, 单
答案 0 :(得分:2)
没有parameter substitution操作可以执行您想要的操作。我建议在cat
命令前放置一个条件,如下所示:
if [[ "${ENVIRONMENT}" =~ ^dev ]] ; then
ENVIRONMENT="dev"
fi
cat <<EOF > config
environment = ${ENVIRONMENT}
EOF
答案 1 :(得分:1)
试试这个:
cat <<EOF > config
environment = $([[ "${ENVIRONMENT}" =~ ^dev ]] && ENVIRONMENT=dev && echo $ENVIRONMENT)
EOF