PowerShellで空cd実行時に、ホームディレクトリに移動する。

Windows PowerShellは、Unixのシェルの挙動に似せてある。
だから、Unixのシェルに慣れている人は最初からすんなり使える。
が、しかし、使い続けていると、Unixのシェルとは挙動が同じではないため、不満な面もいくつかでてくる。


その中でも特に不満に思う差違の一つが、移動先指定無しのcdで、ホームディレクトリに移動してくれないことでしょう。

cd


この問題は、簡単に対応できます。
cdエイリアスを置き換えてしまいましょう。

# replace cd
rm Alias:cd
function cd
{
    if ($args.Length -gt 0)
    {
        Set-Location $args[0]
    }
    else
    {
        Set-Location $env:HOME
    }
}

1. エイリアスcdを削除。
2. ファンクションcdを定義。
3. 引数が指定されている場合は、その引数のディレクトリに移動。(ディレクトリかどうかのチェックしてないけど)
4. 引数が無い場合は、環境変数HOMEディレクトリに移動する。


このコードを、例えば、profile.ps1あたりのファイル名にして、powershellディレクトリに置くと良いんじゃないかな。
きっと、PowerShellが使いやすくなります。