PowerShell 7をインタラクティブシェルとして使う - エイリアス

【連載】

PowerShell Core入門 - 基本コマンドの使い方

【第106回】PowerShell 7をインタラクティブシェルとして使う - エイリアス

[2020/07/06 08:00]後藤大地 ブックマーク ブックマーク

インタラクティブシェルには大抵「エイリアス」と呼ばれる機能が用意されている。UNIX系のインタラクティブシェルであれば、エイリアスは文字列の置き換えとして機能することが多く、多用するコマンドの羅列を1つの言葉で代替するといった使い方でよく用いられる。エイリアスを使うことでタイピングの負担やタイプミスを減らし、時短を実現することができるのだ。

PowerShellにもエイリアスと呼ばれる機能が用意されているのだが、UNIX系のインタラクティブシェルで使われているエイリアスとはかなり趣向が異なる。PowerShellのエイリアスは「コマンドレット」や「コマンド」に別名を付けるものだ。UNIX系インタラクティブシェルのエイリアスのように自由に置き換えができるものではなく、かなり限定的な機能である。

しかし、だからと言って使えない機能ということではない。PowerShelllではエイリアスと関数に明確な用途の違いがある。逆に言えば、UNIX系インタラクティブシェルのエイリアスが強力過ぎると言えなくもない。PowerShellのエイリアスは、それはそれで利用できる。今回はこのエイリアス機能を見ていこう。

PowerShellのエイリアス

PowerShellではデフォルトの状態でいくつものエイリアスが設定されている。何となくDOSコマンドやUNIX系コマンドを入力しても動作するのは、このエイリアスによってコマンドレットが呼び出されているからだ。設定されているエイリアスは、以下のように「Get-Alias」コマンドレットを実行することで一覧表示させることができる。

Get-Alias

Get-Aliasコマンドレットは、次のようにエイリアス名を指定して、特定のエイリアスの情報だけを表示させることもできる。

Get-Alias -Name エイリアス名

エイリアスは、次のように「Set-Alias」コマンドレットで設定する。

Set-Alias -Name エイリアス名 -Value コマンドレットやコマンド

この設定はPowerShellが終了するまで有効だ。つまり、「Set-Alias」によるエイリアスの設定を「$PROFILE」に書いておけば、PowerShell起動直後からそのエイリアスを利用できる。例えば、「Set-Alias -Name ls -Value Get-ChildItem」とすれば、「ls」という入力で「Get-ChildItem」が実行されるといった具合だ。

アプリケーションを起動する

PowerShellのエイリアスで最も便利なのは、長い入力が必要になるコマンド(アプリケーション)の入力を短縮することだ。メモ帳なら「notepad」、ファイルエクスプローラなら「explorer」、Windows Terminalなら「wt」、タスクマネージャなら「taskmgr」で、ディスククリーンアップなら「cleanmgr」で起動できる。あらかじめこうした短いコマンドが用意されているアプリケーションは、PowerShellから簡単に起動できる。

これが、Microsoft Edgeであれば「C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe」のように入力する必要があるし、Google Chromeであれば「C:\Program Files (x86)\Google\Chrome\Application\chrome.exe」のように入力する必要がある。面倒なので、これらもできれば「edge」や「chrome」といった短い入力で起動したい。

こういった場合に使えるのがエイリアスだ。次のような設定を「$PROFILE」に書き込んでおく。

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

この設定で、「edge」でMicrosoft Edgeが、「chrome」でGoogle Chromeが起動するようになる。どのパスがアプリケーションの本体なのかを探して指定しなければいけないが、そこさえクリアしてしまえば短いコマンドで素早い起動が可能になる。慣れてしまえば、マウスでメニューやアイコンを選択して起動するよりも、PowerShellからエイリアスを入力して起動したほうが早くアプリケーションを起動できるはずだ。

なお、PowerShellのエイリアスにはオプションを含めることはできない。エイリアスに指定したオプションはSet-Aliasコマンドレットに対するオプションとして解釈されるためだ。エイリアスはあくまでも「名前に別名を付けるもの」として機能する。

アプリケーションに別名を付ける

エイリアスは、すでに短い名前が用意されているコマンドに、さらに別の名前を付けるという使い方もできる。

Windowsでファイルエクスプローラを起動するコマンドは「explorer」だが、macOSだと「open」を使うことが多い。Windowsだと、とりあえずエディタはメモ帳ということで「notepad」と入力するが、LinuxやmacOSだと「vi」や「vim」と入力することも多いだろう。こういう操作はもはや手癖になっていて、必要なときに何も考えずに自然と入力していることもある。同じ操作なら、同じコマンドで実行できるようにしたいところだ。

こういったコマンドも、エイリアスに設定してしまおう。次のような感じだ。

Set-Alias -Name open -Value explorer
Set-Alias -Name vi -Value notepad
Set-Alias -Name vim -Value notepad

上記を「$PROFILE」に書いておけば、PowerShellでエイリアスを使用できる。エイリアスはたくさん追加すればよいというものではないのだが、入力が面倒だと感じているコマンドがあるなら設定したほうがよい。ちょっとしたことだが、作業が快適になる。

エイリアスはコツコツ改善していく

エイリアスは普段PowerShellを使用するなかで徐々にカスタマイズしていくのがよい。追加しても使わないようなら削除し、繰り返し同じコマンドやコマンドレットを使っていると感じたらそれをエイリアスとして設定する。そうやって毎日コツコツと「$PROFILE」の内容をブラッシュアップしていけば、最終的によく使うエイリアスだけが「$PROFILE」に残るような状態になるはずだ。

エイリアスの確認サンプル

UNIX系インタラクティブシェルと同じ要領でPowerShellのエイリアスを使おうとすると、あまりの機能のなさにびっくりするかもしれない。だが、そもそも別名を用意するだけの機能なので、それを踏まえた上で活用してほしい。長いパスを入力しなければならないアプリケーションを短いエイリアス名で起動できるようになると、この機能の便利さを実感できると思う。

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

一覧はこちら

連載目次

もっと知りたい!こちらもオススメ

【連載】RPA入門 - ツールで学ぶ活用シーン

【連載】RPA入門 - ツールで学ぶ活用シーン

AIには、ルールベース、機械学習、深層学習(ディープラーニング)の3つのレベルがあり、レベルが上がるに連れてより高度な人工知能を実現しますが、AIのスピンオフという位置付けで、Digital Labor(仮想知的労働者)によるホワイトカラー業務の自動化を実現するRPAが注目されています。

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします
注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
[解説動画] 個人の業務効率化術 - 短時間集中はこうして作る
ミッションステートメント
教えてカナコさん! これならわかるAI入門
AWSではじめる機械学習 ~サービスを知り、実装を学ぶ~
対話システムをつくろう! Python超入門
Kubernetes入門
SAFeでつくる「DXに強い組織」~企業の課題を解決する13のアプローチ~
PowerShell Core入門
AWSで作るマイクロサービス
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

会員登録(無料)

ページの先頭に戻る