WSLではbash側のコマンドをwsl.exe
の引数に渡すとそのまま実行してくれます。
この特性を使うとwslのgrepなどのエイリアスを定義できます。
ただし、PowerShellでは引数付きエイリアスは定義不能なので関数で代用します。
function grep { $input | wsl grep --color=auto $args }
上記のgrep関数を$PROFILE
に入れておくと普通にgrepするのと同じように使えます。
パイプで渡されたときは$input
の中身に対してパイプで動作し、普通に呼ばれたら普通に呼びます。
--color=auto
はなくてもいいですがあっても困らないのでつけておきました。
ただし、ファイルが対象だとバックスラッシュやルートパスの問題で上手く機能しませ。
頑張って変換書けば使えそうな気がしますが。
こういうのはダメ
grep wa C:\Windows\system.ini