なぜ
Linux環境下のコンソール(bash, zsh, fish等)では起動時に*_profileなどが自動実行されるため、PATHの指定やエイリアスの設定などを書き込んでおくことで疑似的な永続化ができる。
Windows上のコンソール(cmd, Powershell)でも同様に永続化したい。
どのように
基本的にはbash_profileのように、最初に実行されるべき内容を記述したファイルを自動で実行されるように変更する。(Cmdの方はエイリアスのみ。AutoRunにバッチファイル入れたら動きそうだけど、WindowsくんはPATH永続だもんね)
Cmdでの永続化
- 任意の場所にエイリアスを記述するファイルを作成する
- HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processorあるいは HKEY_CURRENT_USER\Software\Microsoft\Command Processorを開く
- 文字列型のキー
AutoRun
を作成する - 値を
doskey /macrofile=<path/to/1で作ったやつ>
に変更する
HKEY_CURRENT_USERの方にCommand Processorがなかったので要検証(作ったら動くかも)
PowerShellでの永続化
- ユーザー権限でPowerShellを開き
New-Item –type file –force $profile
- 次に
notepad $profile
あるいはcode $profile
Set-Alias d docker
のようにエイリアスを書き込む- 最高の人生
俺はAWS CLIを使いたいわけ
Function AWSCLI {docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws amazon/aws-cli $args}
Set-Alias -Name aws -Value AWSCLI