shell - hashcorp 打包器 shell 配置程序中的 sed 命令失败
问题描述
使用 sed 命令的就地更新,我试图在文件中搜索一个字符串,并将其替换为多行。这就是我想要更新文件的方式。
sed 之前:foo.sh
#!/bin/sh
sed 命令:
sed -i 's|#!\/bin\/sh|#!\\/bin\\/sh\n\n. \\/etc\\/company\\/aws_functions\n\nif [ -f \\/etc\\/company\\/user_data ];then\n\t. \\/etc\\/company\\/user_data\nfi\n|g' /tmp/foo.sh
sed 之后:foo.sh
#!/bin/sh
. /etc/company/aws_functions
if [ -f /etc/company/user_data ];then
. /etc/company/user_data
fi
这完美地工作,但是当尝试使用打包器外壳配置程序执行相同的命令时,我不断收到以下错误。
sed: -e expression #1, char 23: unterminated `s' command[0m
我也关注了https://github.com/hashicorp/packer/issues/9091,但没有运气。任何解决此问题的指针将不胜感激。谢谢。
解决方案
推荐阅读
- thingsboard - 按日期/时间安排操作
- windows - 如何使用 powershell 获取故障转移集群卷信息?
- powerbi - Power BI 报告服务器 - 门户管理员功能
- c# - .NET 未知主机名异常,但 nslookup 有效
- php - Messenger Chatbot:在实现人工交接协议的同时跟踪用户与机器人的聊天历史
- jakarta-ee - cqrs:在服务之间共享命令和事件语义
- functional-programming - 如何在 OCaml 中创建一个反转 int 列表的函数?
- java-8 - Java 8 Stream 类的动态过滤字段
- c++ - 如何在 C++ 中的函数内声明外部 C 函数?
- python - 每秒运行一个函数并与前一秒的值进行比较。