改进现有别名以动态替换命令行文本

改进现有别名以动态替换命令行文本

.bashrc我有一个这样的别名:

alias ylog = "yarn logs -applicationId"

当我这样做时,这很有效ylog application_123

job_123有时,我的工作名称以代替的形式出现application_123,为了获得ylog我需要在命令行中手动将文本“工作”替换为“应用程序”。

是否可以改进别名,以便发生以下情况:

  • ylog job_123决心ylog application_123
  • ylog application_123决心ylog application_123

答案1

Bash 不允许在别名中使用参数,因此您需要定义和使用函数,例如:

ylog() {
    yarn logs -applicationId "${1/#job_/application_}"
}

相关内容