#! /bin/sh #!buildShellBin prepend-path=openssh # # usage: with-ssh [--add[=KEY] ...] [COMMAND [ARGS ...]] # set -efu case ${WITH_SSH_STAGE-1} in 1) export WITH_SSH_STAGE=2 exec ssh-agent "$0" "$@" ;; 2) if test $# = 0; then set -- "$SHELL" fi case "$1" in --add) shift ssh-add exec "$0" ;; --add=*) key=$1; shift key=${key#--add=} ssh-add "$key" exec "$0" "$@" ;; *) exec "$@" esac ;; *) echo "with-ssh: error: bad stage: $WITH_SSH_STAGE" >&2 exit 1 esac