From b8d66986e9be6711ed42f0b75de3af2e1f4a632d Mon Sep 17 00:00:00 2001 From: InigoGutierrez Date: Sun, 15 Dec 2019 23:01:28 +0100 Subject: ssh.sh and scp.sh now don't show blank options. --- ssh.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'ssh.sh') diff --git a/ssh.sh b/ssh.sh index b020508..7d25618 100755 --- a/ssh.sh +++ b/ssh.sh @@ -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 -- cgit v1.2.1