Powershellでwhichコマンド
powershellでは、whichではなくgcmを使用するらしいのだが、直ぐにこれを忘れる。
(whereもあるが、何の動作もしない)
powershellにはaliasがあるので、gcm(Get-Command) を alias を使用してwhichで使えるようにする。
alias を作成するにはSet-Aliasコマンドレットを使用する。
Set-Alias -name which -value Get-Commnd
これで出来たかと思いきや、一時的に作られる alias のようで、次回以降は使用できなくなるようだ。
そこで、Windows 10 の PowerShell で起動時にコマンドのエイリアスを設定 (Set-Alias) するにはという記事があったので、それを参考に設定する。
(1) 管理者権限で次のコマンドを実行する。
Set-ExecutionPolicy RemoteSigned -Force
(2) ユーザ権限で次のコマンドを実行する。
New-Item –type file –force $profile
New-Item でプロファイルが次の場所に作成される。
C:\Users\tsuch\OneDrive\ドキュメント\PowerShell\Microsoft.PowerShell_profile.ps1
(3) プロファイルは次のコマンドで編集できる。
notepad $profile
プロファイルへの設定は次のように、Set-Aliasを使用して行う。
New-Alias -name エイリアス -value コマンド
または
New-Alias エイリアス コマンド
【例】
New-Alias -name an -value anaconda-navigator
New-Alias an anaconda-navigator
因みに、jupyter notebook の設定は次のようにすればできる。
New-Alias jn C:\Users\tsuch\Anaconda3\Scripts\jupyter-notebook.exe
New-Alias と Set-Alias の違いについて
Set-Alias は、コマンドレットを作成または変更するのに対し、New-Alias は、現在のセッションのコマンドレットを作成するが保存はされません。
肝心なwhichを忘れてました。
New-Alias which Get-Command
Set-AliasではだめでしたがNew-Aliasにすると動くようです。
最後に、shコマンドの方が使いやすい。本当に必要な場合を除いて、使わない方がよさそうだ。
以上
0 件のコメント:
コメントを投稿