sed Befehl im Bash-Script

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Spike1986
Beiträge: 153
Registriert: 25.01.2012 20:16:47

sed Befehl im Bash-Script

Beitrag von Spike1986 » 08.12.2013 14:53:52

Code: Alles auswählen

        sed -i '$a\cert "/etc/openvpn/$name.crt"' $vpn/vpn/*.conf
        sed -i '$a\key "/etc/openvpn/$name.key"' $vpn/vpn/*.conf
mit diesem Befehl möchte ich cert "/etc/openvpn/testuser.crt in die *.conf hinterlegen.

Das klappt soweit nur wird statt ...testuser.crt ...$name.crt eingtragen.

habe im script echo $name eingeben bekomm dann auch die Ausgabe testuser

newdeb
Beiträge: 134
Registriert: 03.02.2011 11:11:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Frankfurt

Re: sed Befehl im Bash-Script

Beitrag von newdeb » 08.12.2013 15:18:17

$name wird in Hochkommas nicht expandiert. Du musst den Parameter aus den Quotes herausnehmen und separat quotieren:

Code: Alles auswählen

sed -i '$a\cert "/etc/openvpn/'"$name"'.crt"' $vpn/vpn/*.conf

Spike1986
Beiträge: 153
Registriert: 25.01.2012 20:16:47

Re: sed Befehl im Bash-Script

Beitrag von Spike1986 » 08.12.2013 18:46:08

Top Danke. Jetzt passt es.

Antworten