2016-03-10 34 views
6
ben bir değişken bu dosyada EnvironmentFile=/etc/default/myservice dosyanın

systemd, yeni hat anlamlıdır environmentfile, içinde satırlı değişken

aracılığıyla Ortam değişkenlerini besliyorum hangi bir hizmeti kontrol etmek için, debian jessie üzerinde systemd kullanıyorum

hangi bir kamu s

belgeleri (aynı dosyanın bash bir source yapıyor düzgün çalışmasına rağmen) bir hata bildirir ki systemd memnun etmediğini gibi koyarak

JWT_PUB_KEY="-----BEGIN FOO BAR KEY----- 
    MIIBgjAcBgoqhkiG9w0BDAEDMA4ECKZesfWLQOiDAgID6ASCAWBu7izm8N4V 
    2puRO/Mdt+Y8ceywxiC0cE57nrbmvaTSvBwTg9b/xyd8YC6QK7lrhC9Njgp/ 
    ... 
    -----END FOO BAR KEY-----" 

anahtar Eğer bir \ ile her dosyayı sona erdirerek satırlı değişken olabilir ama her satırı bitiştirmek o ystemd raporu

orada mı (yani benim programı artık geçerli bir kamu anahtar bir satır, altında bütün alma) satır sonu korumak için bilinen yolu? uygulama kodumda 'yorumlama' yaptıklarım, \n'u eklemeye çalışmaktan habersizler mi?

cevap

0

Systemd, şüpheniz olduğundan, \n ortam değişkeni tanımlarını kabul eder. Yapmanız ve özel ayrıştırma yapmanıza gerek yoktur, yalnızca gereken \n s değerini ekleyin ve gerçek yeni satırlardan kaçının. Systemd gerisini halletmeli ve bunları bir satır besleme haline getirmelidir. Senin durumunda bu şuna benzer olacaktır:

JWT_PUB_KEY="-----BEGIN FOO BAR KEY-----\n\ 
MIIBgjAcBgoqhkiG9w0BDAEDMA4ECKZesfWLQOiDAgID6ASCAWBu7izm8N4V\n\ 
2puRO/Mdt+Y8ceywxiC0cE57nrbmvaTSvBwTg9b/xyd8YC6QK7lrhC9Njgp/\n\ 
...\n\ 
-----END FOO BAR KEY-----" 
+0

Bunu tekrar test edeyim, sanırım bu kombinasyonu test ettim, çünkü \\ n \ 'ile bittim ama uzun bir süre oldu, bu yüzden –

+0

göz ardı etmiş olabilirim \\ n karakterin ayrıştırılmasıyla sonuçlanır '\' ve '\ n' karakteri yerine 'n' karakterini ayrıştırma '\ n' – Av4t4r

+1

@Vality, aslında işe yaramıyor, python yazıyor ve tüm değişkeni tek satırda aldım –

0

Sen (? ayrıştırmak) sizin taraftaki satır karakterlerinin yorumlamak zorunda olmamalıdır, hepsi '\ n' ekleyerek, yani as explained here, otomatik olarak gerçekleşmelidir her satırın sonunda hile yapmalısınız.