PowerhsellでBashのようなaliasを使用するには

    >

powershellのaliasでは、bashと違い、cdなどができない。また、ruby.exeようなaliasは設定できても、ruby.exe dev.rbのような引数を含むaliasはbashと違い設定できない。

cdができない問題は、function+set-locationを使用して代替策とする。

Aliases can’t use parameters, so define a function instead.

function cdt { set-location "F:\a" }

これで、alias cdt="cd F:/a"と同様のコマンドになる。

exeでも引数が使用できないのは痛い。この問題を解決するには以下のスクリプトを使用する。

function New-BashStyleAlias([string]$name, [string]$command)
{
    $sb = [scriptblock]::Create($command)
    New-Item "Function:\global:$name" -Value $sb | Out-Null
}

New-BashStyleAlias openDev_ "notepad.exe C:\pg\dev.txt"
openDev_
# => 成功

new-alias openDev "notepad.exe C:\pg\dev.txt"
openDev
# => 失敗

使用例:
New-BashStyleAlias railsdev "ssh -R 52698:localhost:52698 -p 3022 yuis@192.168.99.1"
# => 成功
# 蛇足:sshconfigよりもこっちが好きです。

django – Equivalent to Bash alias in PowerShell – Stack Overflow


お困りですか?この記事で紹介していることをマンツーマンで指導、解説、代行します。まずはお気軽にお問い合わせください。


関連するかもしれない記事

Bashとahkで数秒ごとにキーをタイプする作業を数回繰り返すスクリプト
WSL BashとPowershellで簡単なタイマーアプリを作る
Bash JSONを整形して出力
bashでaliasなしでコマンドを実行
Bashでunicodeをuft-8へ変換
Bashでインターネットのスピードを計測(ダウンロード/アップロード)
Bash How to make a file null / ファイルを空にする


Close Menu