diff options
Diffstat (limited to 'ssh.sh')
-rwxr-xr-x | ssh.sh | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -1,10 +1,11 @@ #!/bin/sh # Allows to select a host to connect to through ssh -# Hosts are read from the file $hostsfile, in which each line should be a host in the form identifier#address#port#input for pass +# Hosts are read from the file $hostsfile, in which each line should be a host +# in the form identifier#address#port#input for pass # Port and input for pass are optional hostsfile="$HOME/.hosts" -hostnames="$(sed '/^#.*$/d' < "$hostsfile" | cut -d'#' -f1 | fzf)" || exit 0 +hostnames="$(sed '/^#.*$/d; /^$/d' < "$hostsfile" | cut -d'#' -f1 | fzf)" || exit 0 host="$(grep "$hostnames" < "$hostsfile")" hostname="$(echo "$host" | cut -d'#' -f1)" hostaddress="$(echo "$host" | cut -d'#' -f2)" @@ -12,5 +13,5 @@ hostport="$(echo "$host" | cut -d'#' -f3)" hostpass="$(echo "$host" | cut -d'#' -f4)" echo "Connecting to $hostname" [ "$hostpass" ] && pass -c "$hostpass" -[ "$hostport" ] && ssh $hostaddress -p $hostport || ssh $hostaddress # No quotes here! +[ "$hostport" ] && ssh "$hostaddress" -p "$hostport" || ssh "$hostaddress" # No quotes here! #$(echo "ssh $hostaddress -p $hostport") # Alternative to prev line |