Allgemein
Knowledge Base
- Neue Struktur (In Arbeit)
- Computertechnisches
Community
Privat
Es geht darum ein Script bereitzustellen, dem Parameter übergeben werden können, die an Docker weitergereicht werden.
#!/bin/bash
SCRIPTNAME=$(basename ${0/.sh/ })
if [[ "$#" -lt 1 ]]; then
quoted_args=""
else
quoted_args="$(printf " %q" "${@}")"
fi
docker exec -it varnish sh -c $SCRIPTNAME ${quoted_args}
Das obige Script wird wie folgt aufgerufen:
./varnishlog.sh -q 'ReqURL ~ blog'
Leider geht das nicht, wie ich es mir vorstelle, es wird nicht nach "blog" gefiltert.
Logge ich mich im Varnish direkt ein per:
docker exec -it varnish sh
kann man
varnishlog -q 'ReqURL ~ blog'
aufrufen und es funktioniert wie erwartet.
docker exec -it varnish sh -c "$SCRIPTNAME ${quoted_args}"
Die Quotes beim Shell-Aufruf und schon klappt es, das soll jemand verstehen.