http://www.perlmonks.org?node_id=539774


in reply to ssh wrapper

I did something similar to this, but with a shell script. I created a directory 'ssh' in my home dir, with a script ssh.sh, which I symlink to the short names of the servers I wish to attach to. I didn't care about shortname->longname expansion because tab completion was fast enough (for boxes that didn't end in one of the local domains anyhow).

#!/bin/bash if [ "$1" == "" ]; then ssh $1@$0 else ssh $0 fi

So, when I want to connect to myhost.org with the username 'radmat', I can just:

$ ~/ssh/myhost.org radmat

When I can't remember usernames, I make an entry in ~/.ssh/config to remember it for me. Hostnames are expanded by tab completion, and this saves me a ton of time.

Perl equivalent, if you want:

#!/usr/bin/perl if (!defined $ARGV[0] || $ARGV[0] eq '') { exec('ssh',$0) } else { exec('ssh',"$ARGV[0]\@$0") }
<-radiant.matrix->
A collection of thoughts and links from the minds of geeks
The Code that can be seen is not the true Code
I haven't found a problem yet that can't be solved by a well-placed trebuchet