LoginSignup
1
0

More than 1 year has passed since last update.

zshのエイリアスにオプション(可変)を引き渡したい

Posted at

やりたかったこと

該当ディレクトリに遷移し、以下3つのコマンドをエイリアスに登録したかった。

cargo run -- -t [token]
cargo run -- -t [token] -b
cargo run -- -t [token] -d mm/dd

解決方法

以下を.zshrcに登録。(エイリアス名はvacationです)

alias vacation='(){pushd ~/path/to/script;cargo run -- -t [token] $1 $2;popd}'

予め渡されるかもしれない引数の個数を宣言しておけばそのまま使えました。
変数をひとつしか用意していないとvacation "-d mm/dd"のように文字列であることを明記しないといけず、面倒ですが一応動きます。

これで以下3つどれでも動くようになりました。

vacation
vacation -b
vacation -d mm/dd

ちなみに

以下自作したslackアプリで上記を使いたかったのがモチベーションでした。
トークンを発行して、上記エイリアス登録すると、以下ができます。

  • vacation でslackの表示名の末尾に(mm/dd休)を付与する(翌日)
  • vacation -bでslackの表示名の末尾の(mm/dd休)を消す
  • vacation -d mm/dd でslackの表示名の末尾に(mm/dd休)を付与する(指定日)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0