homeserver/inventory2sshconfig.sh
mg 088b333b14 Doku inv2ssh (#196)
Co-authored-by: Michael Grote <michael.grote@posteo.de>
Reviewed-on: mg/ansible#196
Co-authored-by: mg <mg@noreply.git.mgrote.net>
Co-committed-by: mg <mg@noreply.git.mgrote.net>
2021-08-24 12:42:04 +02:00

19 lines
638 B
Bash

#!/bin/bash
# pruefe ob inventory gesetzt ist
if [ -n "$1" ]; then
var_inv=$1
else
var_inv="/home/mg/ansible/inventory"
fi
#pruefe ob ssh-config gesetzt ist
if [ -n "$2" ]; then
var_conf=$2
else
var_conf="/home/mg/.ssh/config"
fi
# loesche *.grote.lan Hosts und lege ein backup der Datei an
sed -i.bak -r '/[a-z0-9-]+.grote.lan/ d' $var_inf
# gebe Host aus Inventorie aus, entferne die erste Zeile, schreibe "Host"
# https://superuser.com/questions/246837/how-do-i-add-text-to-the-beginning-of-a-file-in-bash
echo "$(ansible all -i $var_inv1 --list-hosts | grep -v hosts | sed -e 's/^/Host /g' | cat - $var_conf)" > $var_conf