使用sed将正则表达式匹配的字符串替换为变量

时间:2019-05-16 17:03:55

标签: linux bash docker sed dockerfile

因此,我要尝试的操作是BCrypt纯文本并将其放在配置文件中。我正在Dockerfile中执行此操作,所以无法执行

RUN BCRYPT_PASS=$(./hash.sh -p PASSWORD)
RUN sed -i "s/admin:/$BCRYPT_PASS:/g" filename.yml

所以我想做的是

RUN BCRYPT_PASS=$(./hash.sh -p PASSWORD) && sed -i "s/admin:/$BCRYPT_PASS:/g"  filename.yml

这里的/没有任何问题,因为如果我将$BCRYPT_PASS与其他变量一起删除,则命令可以正常工作。 并抛出sed: -e expression #1, char 48: unknown option to `s'。 但是,如果我将$BCRYPT_PASS替换为另一个已定义的变量,它将可以正常工作。 如何使其与BCRYPT_PASS一起使用。

0 个答案:

没有答案