我是否可以将别名作为我在命令行中输入的字符串的一部分来创建?除此之外,我希望该别名有多个值。
例如,如果我在命令行中输入以下任何字符串:
环境1_机器
名称 环境2_机器
名称 环境3_机器名称
我希望 env1、env2 和 env3 是单个别名,这样当我输入上述三个字符串中的任何一个时,都可以执行相同的别名命令。
因此,如果我在命令行中输入 env1、env2 或 env3 然后接着输入其他内容,我希望执行相同的命令。
答案1
别名由其名称标识,并且具有单一定义。由于它会覆盖同名的命令,因此如果别名名称只是现有命令的一部分,当然不会产生干扰。简短回答因此:是的,别名是您在命令行上键入的字符串的一部分。
设置三个别名,env1
、env2
和env3
。
alias env1="env1_machineName"
alias env2="env2_machineName"
alias env3="env3_machineName"
- 对于日常使用,别名的作用类似于命令。您在 、
env1
或env2
之后输入的任何内容env3
都将传递给别名定义的命令(same_command
在本例中)。 - 请注意,别名仅在当前交互式 shell 中有效。别名仅存在于当前交互式 shell 中。别名不能在脚本中执行,即使在那里定义,除非脚本是在当前 shell 中“获取”的(
source
或.
)。
相反,如果您希望树别名执行相同的命令(因为您也说过)
| 因此,如果我在命令行上输入 env1、env2 或 env3 然后接着输入其他内容,我希望执行相同的命令。
然后只需定义它们三次来表示相同的命令:
alias env1="samecommand"
alias env2="samecommand"
alias env3="samecommand"