别名可以是我在命令行中输入的字符串的一部分吗?

别名可以是我在命令行中输入的字符串的一部分吗?

我是否可以将别名作为我在命令行中输入的字符串的一部分来创建?除此之外,我希望该别名有多个值。

例如,如果我在命令行中输入以下任何字符串:

环境1_机器
名称 环境2_机器
名称 环境3_机器名称

我希望 env1、env2 和 env3 是单个别名,这样当我输入上述三个字符串中的任何一个时,都可以执行相同的别名命令。

因此,如果我在命令行中输入 env1、env2 或 env3 然后接着输入其他内容,我希望执行相同的命令。

答案1

别名由其名称标识,并且具有单一定义。由于它会覆盖同名的命令,因此如果别名名称只是现有命令的一部分,当然不会产生干扰。简短回答因此:是的,别名是您在命令行上键入的字符串的一部分。

设置三个别名,env1env2env3

alias env1="env1_machineName"
alias env2="env2_machineName"
alias env3="env3_machineName"
  • 对于日常使用,别名的作用类似于命令。您在 、env1env2 之后输入的任何内容env3 都将传递给别名定义的命令(same_command在本例中)。
  • 请注意,别名仅在当前交互式 shell 中有效。别名仅存在于当前交互式 shell 中。别名不能在脚本中执行,即使在那里定义,除非脚本是在当前 shell 中“获取”的(source.)。

相反,如果您希望树别名执行相同的命令(因为您也说过)

| 因此,如果我在命令行上输入 env1、env2 或 env3 然后接着输入其他内容,我希望执行相同的命令。

然后只需定义它们三次来表示相同的命令:

alias env1="samecommand"
alias env2="samecommand"
alias env3="samecommand"

相关内容