#!/bin/bash # Intended to be used as a git hook for post-commit, post-merge, post-checkout # # Remember to include the generated ssh config on top of ~/.ssh/config: # Include ~/.ssh/bwnode ( tmpfile=$(mktemp -p ~/.ssh/) echo "# generated $(date)" >"$tmpfile" BW_TABLE_STYLE=grep bw nodes -a hostname -- "lambda:not node.dummy" | \ while read node addr do if [[ -n "$BW_SSH_HOOK_EXTRA_LINE" ]] then echo "Host $addr" >>"$tmpfile" echo "$BW_SSH_HOOK_EXTRA_LINE" >>"$tmpfile" echo "" >>"$tmpfile" fi echo "Host $node" >>"$tmpfile" echo "HostName $addr" >>"$tmpfile" if [[ -n "$BW_SSH_HOOK_EXTRA_LINE" ]] then echo "$BW_SSH_HOOK_EXTRA_LINE" >>"$tmpfile" fi echo "" >>"$tmpfile" done mv "$tmpfile" ~/.ssh/config.d/bwnodes ) &