2020年4月1日水曜日

whichコマンド作成

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 件のコメント:

ただいま作業中

2022/04/13 MySTの翻訳環境作り サイドメニューをプログラムで変換可能にすること 作業の中心場所 – jupyter notebook : g:\jupyter\python pythonをwebでも可能に – g:\webapp\Doc-tools ...