I am trying to invoke the elements of the directory array via bash script (& sed), but it breaks:
sed: -e expression #1, char 33: unknown option to `s'
#!/bin/bash
directory=(one two three)
for m in "${directory[@]}"
do
echo "${m}" ;
sed -i -e '45 s/$/\napiVersion: extensions/v1beta1\nkind: Ingress\nmetadata:\n namespace: ${m}\n name: ${m}-api1-ingress\n annotations:\n nginx.ingress.kubernetes.io/use-regex: "true"\n nginx.ingress.kubernetes.io/configuration-snippet: |\n rewrite "(?i)/${m}/api1/(.*)" /$1 break;\n rewrite "(?i)/${m}/api1$" / break;\n labels:\n Name: ${m}\n App: test-api\n Tier: end\nspec:\n rules:\n - host: www.test.com\n http:\n paths:\n - backend:\n serviceName: ${m}-test-api-1\n servicePort: 80\n path: /${m}/api1\n\n---\n\napiVersion: extensions/v1beta1\nkind: Ingress\nmetadata:\n namespace: ${m}\n name: ${m}-api2-ingress\n annotations:\n nginx.ingress.kubernetes.io/use-regex: "true"\n nginx.ingress.kubernetes.io/configuration-snippet: |\n rewrite "(?i)/${m}/api2/(.*)" /$1 break;\n rewrite "(?i)/${m}/api2$" / break;\n labels:\n Name: ${m}\n App: test-api\n Tier: end\nspec:\n rules:\n - host: www.test.com\n http:\n paths:\n - backend:\n serviceName: ${m}-test-api-2\n servicePort: 80\n path: /${m}/api2/g' /home/test/*.yaml;
done