From d0ca362669eda64d6eaf8317672be47e7b310a83 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Mon, 25 Mar 2019 21:40:46 -0300 Subject: Pretty printing --- ssh-agent-loadkey-menu | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/ssh-agent-loadkey-menu b/ssh-agent-loadkey-menu index 29a8e6d..a335561 100755 --- a/ssh-agent-loadkey-menu +++ b/ssh-agent-loadkey-menu @@ -15,7 +15,13 @@ fi # Get available keys function __query { - ( cd $KEYS && find -name '*.pub' | sed -e 's/.pub$//' | grep -v decomissioned ) + ( + cd $KEYS && find -name '*.pub' | sed -e 's/.pub$//' | grep -v decomissioned | while read line; do + handle="`echo $line | cut -d '/' -f 3`" + type="`echo $line | cut -d '/' -f 2`" + echo "$handle ($type)" + done + ) } # List available keys @@ -30,19 +36,26 @@ function __list { # Display the keys available in the agent function __loaded { - echo "Current loaded keys:" - echo "" + #ssh-add -L | cut -d ' ' -f 3 | sed -e 's/^/\t/' - ssh-add -L | cut -d ' ' -f 3 | sed -e 's/^/\t/' + ssh-add -L | while read line; do + handle="$(basename `echo $line | cut -d ' ' -f 3`)" + type="`echo $line | cut -d ' ' -f 1 | sed -e 's/^ssh-//'`" + echo "$handle ($type)" + done | column -t -c 6 } # Key chooser mennu function __chooser { + echo "Usage: $BASENAME " + echo "" echo "Available keys" echo "" __list | sed -e 's/^/\t/' echo "" - __loaded + echo "Current loaded keys:" + echo "" + __loaded | sed -e 's/^/\t/' echo "" read -rep "Choose key: " n @@ -59,7 +72,9 @@ function __chooser { # Load a key function __load { - KEY="$KEYS/$1" + HANDLE="$1" + TYPE="`echo $2 | sed -e 's/(//' -e 's/)//'`" + KEY="$KEYS/$TYPE/$HANDLE" # Check if the selected option has a custom procedure (monkeysphere, keyringer, etc) if [ -x "$KEY.askpass" ]; then @@ -71,4 +86,8 @@ function __load { } # Dispatch -__chooser +if [ ! -z "$2" ]; then + __load $* +else + __chooser +fi -- cgit v1.2.3