Die Datei ${HOME}/.credentials mit dem Einzeiler aus Benutzername, Tabulator und Kennwort ist schnell angelegt und wie folgt benutzt.
[code lang=“bash“]#!/bin/bash
read USER PASS <${HOME}/.credentials
wget --user="${USER}" --password="${PASS}" \
http://mein.de/status.txt[/code]
Die einfache Lösung ist nicht optimal. Besser ist eine XML-Datei. Sie ist lesbarer und skaliert leichter.
[code lang="xml"]
[code lang=“bash“]#!/bin/bash
URL=“http://mein.de/status.txt“
read USER PASS <( \
xmlstarlet sel -t \
-m "//cfg[@url=\"${URL}\"]" \
-v user -o $'\t' -v pass \
${HOME}/.credentials \
)
wget --user="${USER}" --password="${PASS}" ${URL}[/code]
Weitere Details und Beispiele (z.B. die Prüfung einer XML-Datei mit xmlstarlet) finden sich in c’t 12/2015 ab Seite 176.