Templates in der Shell#

Eine einfache Möglichkeit in der Shell (z.B. in der bash) Templates mit Variablen zu expandieren ist das Kommando envsubst aus dem Paket gettext-base

Ein einfaches Beispiel:

Mein Template ist (Inhalt der Datei template.txt):

  Ich bin hier angemeldet als ${USER} auf dem Server ${HOSTNAME}.
  Mein Editor ist $EDITOR.

Dann kann ich die Variablen mit

  export EDITOR=vim
  export USER=hugo
  export HOSTNAME=jupiter
  hugo@jupiter:/tmp$ envsubst  <template.txt 
expandieren und erhalte die Ausgabe:
  Ich bin hier angemeldet als hugo auf dem Server jupiter.
  Mein Editor ist vim.

Möglicherweise sollte das Environment vorher zurückgesetzt werden?

  hugo@jupiter:/tmp$ env -i USER=hugo HOSTNAME=pluto EDITOR=emacs envsubst  <template.txt >datei.txt


Tags:  Linux, Debian

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-1) was last changed on 19-Jan-2013 22:29 by Peter Hormanns