这是一个有点奇怪的。在将云配置文件推送到服务器之前,我使用gsed编辑它。由于某种原因,当我试图将文件打印到替换字符串中时,gsed (gnu-sed)正在抛出一个错误。各种逃跑的方法似乎行不通,这是相当令人沮丧的。有人能看到这里出了什么问题吗?
cat ../$1/tmp/$1-cert.csr | while read i; do echo $i; doneprintf '%s\n' \"$CERT\"”./$1/tmp/cloud-config.yaml错误:
gsed: -e expression #1, char 168: unknown command: `M'M恰好是cert文件第二行中的第一个字符:
-----BEGIN CERTIFICATE REQUEST-----
MIICvjCCAaYCAQAweTELMAkGA1UEBhMCVUsxFzAVBgNVBAgMDkdyZWF0ZXIgTG9u发布于 2015-07-22 11:51:19
最后我使用了awk:
awk '/write_files:/{print $0 RS "- path: /home/core/certs/'"$1"'-cert.csr" RS " permissions: 0755" RS " owner: core:core" RS " content: |"; while(getline line<"../'"$1"'/tmp/'"$1"'-cert.csr"){print " "line};next}1' ../$1/tmp/cloud-config.yaml > swap.txt && mv swap.txt ../$1/tmp/cloud-config.yamlhttps://stackoverflow.com/questions/31413238
复制相似问题