コマンドラインテキストを動的に置き換えるように既存のエイリアスを改善します。

コマンドラインテキストを動的に置き換えるように既存のエイリアスを改善します。

.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_}"
}

関連情報