如何使别名具有解释性?

如何使别名具有解释性?

我有一个我经常连接的服务器列表,名称如下server001server002...。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'

相关内容