我有一个我经常连接的服务器列表,名称如下server001
,server002
...。server999
我不想存储使用这些服务器名称硬编码的 1000 个别名。我也不想编写一个函数并以数字作为参数。
有没有一种方法可以使别名灵活,以便它接受我的命令输入“ server005
”并将其转换为命令“ ”而不存储硬编码别名列表?ssh [email protected]
答案1
您可以在循环中定义别名
for l in {0..999}
do
id=$(printf %03d $l)
alias server$id="ssh user@server$id"
done
这将根据模式创建 1000 个别名
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'