我知道标题有点令人困惑,但请耐心等待,因为这是我的第一篇文章。
这是我的问题大师: 我有一个文件default.yaml,我们在不同的块中为一些应用程序分配密码字段,如:
想法是使用openssl来加密解密文件。 (我知道有更好的方法可以做到,但我们现在正在寻找捷径,不同的原因)
因此,当部署执行时,我需要解密文件中的密码字段,该密码字段在svn中以加密方式签入。
我是awk和sed的新手,我正在尝试不同的方法来做到这一点,但没有成功。所以这是问题陈述:
我认为可以编写一行命令来执行此操作,但请按照您的想法提出建议。
到目前为止,我已经尝试过这个:awk '{if (tolower($1) ~ /password\:/)
{''$2=system("openssl enc -aes-128-cbc -a -d -salt -pass pass:mysecretpass" $2)''};
print}' default.yaml
据我所知,系统命令将返回状态,但在此查找方向。谢谢你们。
我已经使用临时文件解决了它,但我不喜欢这个解决方案。谢谢你找人。
答案 0 :(得分:0)
您可以尝试以下解决方案 -
awk 'tolower($1) ~ /password:/ {system( "echo " $1 "openssl enc -aes-128-cbc -a -d -salt -pass pass:mysecretpass" $2 )}' default.yaml
希望这有帮助。