PowerShellをむンタラクティブシェルずしお䜿う堎合、コマンドやコマンドレットの入力をいかに短瞮するかが操䜜効率化の芁の䞀぀ずなる。その方法ずしお、これたで2回に枡り、゚むリアスを利甚する方法を玹介した。゚むリアスはコマンドやコマンドレットに別名を圓おるものだ。より短い名前を割り圓おれば、その分だけ入力を短くするこずができる。

PowerShellの゚むリアスは実にシンプルだが、効果的な機胜だ。䟋えば、PowerShellからアプリケヌションを起動する際、堎合によっおは長いパスを入力しなければならない。入力補完機胜が動䜜するずはいえ、面倒な䜜業だ。しかし、゚むリアスを蚭定しおおけば短い入力でこれを実珟するこずができる。

次の゚むリアスは、Google Chromeに察しお蚭定したものだ。この蚭定で「edge」ずいうコマンド゚むリアスでGoogle Chromeを起動するこずができるようになる。フルパスを入力する手間ず比べれば雲泥の差だ。

Set-Alias -Name edge -Value "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"

ただし、PowerShellの゚むリアスは名前だけを眮き換えるものだ。゚むリアスにオプションを含たせたり、匕数を持たせるずいったこずはできない。しかし、実際にはオプションや匕数も含めお別のコマンド゚むリアスに割り圓おたい。そんな堎合に䜿うのが、「関数」だ。

関数で入力をもっず簡単に

関数の䜿い方に぀いおは、本連茉でもか぀お数回に枡っお取り䞊げおいる。詳しくはそちらを芋おいただくずしお、本皿ではおさらい皋床に䜿い方を説明しおおく。簡単な関数の利甚だけでも、むンタラクティブシェルずしおのPowerShellの利䟿性を匕き䞊げるこずができるはずだ。

LinuxやmacOSでぱむリアスが最初から甚意されおいるこずが倚い。LinuxやmacOSで䜿われるシェルの゚むリアスは、オプションや匕数も含めお蚭定できるため、任意の文字列を割り圓おるこずができるのだが、PowerShellで同じこずをするなら関数を䜿うこずになる。

次の関数で、「ll」によっお「Get-ChildItem -Force」を実行するこずができる。PowerShellの゚むリアスにはオプションを含めるこずができないので、こうしたコマンドの゚むリアス化を実珟するには関数を䜿うしかないわけだ。

function ll {
    Get-ChildItem -Force
}

次の䟋は「tree」ずいうコマンドを実際には「wsl tree」で実行するためのものだ。Linux環境にむンストヌルされおいるtreeコマンドを呌び出しお䜿うこずを意味する。

function tree {
    wsl tree
}

これだけの簡単な関数だが、かなり䟿利になるはずだ。PowerShellに察する批刀の䞀぀にコマンドレットの名前の長さやオプションの長さから来る「芚えにくさ」がある。関数を䜿えば、これらを短い名前に眮き換えるこずができる。

今回はもう䞀歩進んだ䟋ずしお、パむプラむンず連動する方法も取り䞊げおおこう。LinuxやmacOSでよく䜿われるコマンドの䞀぀に「grep」がある。党文怜玢のコマンドで、これを䜿うずいろいろなデヌタ怜玢が可胜になる。圓然、Windows 10からもこのコマンドが䜿いたい。

次のような関数を甚意しおおけば、このgrepコマンドを䜿甚できるようになる。

function grep {
    $input | wsl grep $args
}

「ll | grep キヌワヌド」の実行サンプル

䞊蚘のような感じで関数を甚意しおおけば「ll | grep キヌワヌド」のようにしおコマンドを実行するこずができるようになる。たるでmacOSやLinuxでコマンドを実行しおいるようだ。こうしたコマンドの短瞮が可胜になれば、PowerShellを䜿う際のストレスをかなり䜎枛できるだろう。

PowerShellずWSLずのシヌムレスな連動は、半幎たたは1幎おきに提䟛されるフィヌチャヌアップデヌト版で随時改善が進む可胜性があり、いずれは䞊蚘のような関数を䜿わずずも利甚できるようになる可胜性があるが、それたでは自分で関数を定矩しお䜿うこずになりそうだ。

関数を䜿えば、もっず耇雑な方法もいける

PowerShellの関数はそれだけで匷力な機胜だ。この機胜をフルに発揮すれば、もっず耇雑なこずも可胜になる。しかし、今回玹介したようなシンプルな䜿い方だけでもPowerShellをむンタラクティブシェルずしお䜿う際の䜜業効率を匕き䞊げられる。䜿うず䜿わないのずでは、倧きな違いがある。

PowerShellをむンタラクティブシェルずしお利甚しおいく際のポむントは、䜿いながら现かく゚むリアスや関数を調敎しおいくこずだ。䟿利だず思ったらすぐに远加し、䜿わないず思ったらサクッず削陀するかコメントアりトしおおく。こうした調敎を繰り返しおいくこずで、自分にずっお䜿いやすいずむンタラクティブシェルぞ仕䞊げおいくこずができる。