標準ではカレントパスがプロンプト表示されているが、この機能を使って独自のプロンプト表示が可能になる。
ドットソースで動的に読み込ませても良いが、$profileに定義しておくと便利。
Function Prompt{ #タイトルバーにパスを表示 $host.UI.RawUI.WindowTitle = Get-Location # #入力されたコマンドにエイリアスがあれば表示する # #入力された直近のコマンドを取得 $lastCommand = Get-History -Count 1 if($lastCommand){ $suggestions = @() #エイリアスが定義されているコマンドレット(関数を除く)を取得 $aliases = Get-Alias | ?{$_.Definition -match "\w\-\w"} foreach($alias in $aliases){ #ワード境界で区切られたコマンドレットがあるか検索 if($lastCommand -match ("\b" + [System.Text.RegularExpressions.Regex]::Escape($alias.Definition) + "\b")){ $suggestions += "エイリアスがあります $($alias.Definition) is $($alias.Name)" } } if($suggestions){ $suggestions | Write-Host -ForegroundColor Cyan Write-Host } } "PS>" } |
プロンプトが長いと若干鬱陶しいので「PS>」とシンプルに。
代わりに$host自動変数を使ってタイトルバーにパスを表示させている。
役立つ情報を表示させたいので、入力されたコマンドにエイリアスが定義されていたら、それを表示している。
結果はこんな感じ。
個別にエイリアスを調べるには
Get-Alias -def Get-ChildItem |
0 件のコメント:
コメントを投稿