なぜ

Linux環境下のコンソール(bash, zsh, fish等)では起動時に*_profileなどが自動実行されるため、PATHの指定やエイリアスの設定などを書き込んでおくことで疑似的な永続化ができる。

Windows上のコンソール(cmd, Powershell)でも同様に永続化したい。

どのように

基本的にはbash_profileのように、最初に実行されるべき内容を記述したファイルを自動で実行されるように変更する。(Cmdの方はエイリアスのみ。AutoRunにバッチファイル入れたら動きそうだけど、WindowsくんはPATH永続だもんね)

Cmdでの永続化

  1. 任意の場所にエイリアスを記述するファイルを作成する
  2. HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processorあるいは HKEY_CURRENT_USER\Software\Microsoft\Command Processorを開く
  3. 文字列型のキーAutoRunを作成する
  4. 値をdoskey /macrofile=<path/to/1で作ったやつ>に変更する

HKEY_CURRENT_USERの方にCommand Processorがなかったので要検証(作ったら動くかも)

PowerShellでの永続化

  1. ユーザー権限でPowerShellを開きNew-Item –type file –force $profile
  2. 次にnotepad $profileあるいはcode $profile
  3. Set-Alias d dockerのようにエイリアスを書き込む
  4. 最高の人生

俺はAWS CLIを使いたいわけ

  1. Function AWSCLI {docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws amazon/aws-cli $args}
  2. Set-Alias -Name aws -Value AWSCLI

参考

PowerShellの方

Cmdの方

AWS CLI関係