やりたかったこと
該当ディレクトリに遷移し、以下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休)
を付与する(指定日)