標準愚痴出力

個人的なIT作業ログです。もしかしたら一般的に参考になることが書いているかもしれません(弱気

PowerShell 関係の環境整備

前回:PowerShell 7.4 でのパイプラインならパラレルで動いた。 - 標準愚痴出力 で、PowerShell 7.4 をインストールしたので、ついでに PowerShell 関係の環境を少し整えた。

キーバインドEmacs 風に変更

PowerShell で Linux の shell っぽいキーバインドを利用する によると、

Import-Module PSReadline
Set-PSReadLineOption -EditMode Emacs

でよいとのこと。ただし、これはセッションを終了すると消えてしまう。起動時に自動的に実行させるためには

mkdir (Split-Path -Path $profile)
vim $profile

で起動する時のコードを登録する。 ( くわしくは「プロファイルについて - PowerShell | Microsoft Learn」にあるそうだが、面倒なので、あまり本気で読んでいない)

スクリプトPowerShell 7.4 以上でしか実行できないようにする

たとえば、例のバックアップスクリプトPowerShell 5.1 で実行されると、またマシンが凍ることになる。安全装置を入れておきたい。

If ( (Get-Host).Version -lt [System.Version] '7.4.0' ){
    Write-Host "Please use PowerShell 7.4 or later"
    exit 1
}

を先頭に書いとこう。

[nyagos] 拡張子 .ps1 との関連付け

.nyagos の Lua コードを修正。PowerShell 7 が存在しそうな時だけ、ps1 で終わるコマンド名の前に pwsh を挿入するようにした。

if string.find(nyagos.env.PATH,"PowerShell\\7",1,true) then
    share._setsuffix("ps1","pwsh")
end