2

I have a list of servers I often connect to, named like server001, server002... server999. I don't want to store 1000 alias hardcoded with these server names. I also don't want to write a function and take the number as the argument.

Is there a way to make alias flexible such that it takes my command input "server005" and transforms it to the commmand "ssh username@server005.example.com" without storing a list of hardcoded alias?

Jeff Schaller
  • 67,283
  • 35
  • 116
  • 255
return 0
  • 317

1 Answers1

2

You could define the aliases in a loop

for l in {0..999}
do
  id=$(printf %03d $l)
  alias server$id="ssh user@server$id"
done

That will create the 1000 aliases based on the pattern

bash-4.2$ alias | grep server | head
alias server000='ssh user@server000'
alias server001='ssh user@server001'
alias server002='ssh user@server002'
alias server003='ssh user@server003'
alias server004='ssh user@server004'
alias server005='ssh user@server005'
alias server006='ssh user@server006'
alias server007='ssh user@server007'
alias server008='ssh user@server008'
alias server009='ssh user@server009'