명령줄 텍스트를 동적으로 대체하도록 기존 별칭을 개선합니다.

명령줄 텍스트를 동적으로 대체하도록 기존 별칭을 개선합니다.

다음과 같은 별칭이 있습니다 .bashrc.

alias ylog = "yarn logs -applicationId"

내가 할 때 이것은 잘 작동합니다 ylog application_123.

job_123때로는 내 작업 이름이 대신 형식으로 나타나 application_123므로 가져오려면 ylog명령줄에서 "job" 텍스트를 "application"으로 수동으로 바꿔야 합니다.

다음과 같은 일이 발생하도록 별칭을 개선하는 것이 가능합니까?

  • ylog job_123결심하다ylog application_123
  • ylog application_123결심하다ylog application_123

답변1

Bash는 별칭에 매개변수를 허용하지 않으므로 다음과 같은 함수를 정의하고 사용해야 합니다.

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

관련 정보