デフォルトのPowershellエイリアスを永久に削除するにはどうすればよいですか?


22

何らかの未知の理由により、Invoke-WebRequest開発者は、curlのエイリアスとして「curl」を含めましたが、curlの適切な実装と互換性がないため、curl要求を作成しようとすると邪魔になります。を使用してエイリアスを削除できますRemove-Item alias:curlが、次にPowershellを起動すると、エイリアスが返されます。起動するたびにスクリプトを実行せずに永久に削除する方法はありますか?


ちょうどFYI:私は、同じコマンドを発行しているRemove-Item alias:curlWindowsサーバ2019の内側と言ってもrestaring後に再度表示されないのです
マトソンkepson

回答:


33

既にPowershellプロファイルがある場合は、この手順をスキップしてください。

New-Item $profile -force -itemtype file

次に、プロファイルを編集します。

notepad $profile

次の行を追加します。

remove-item alias:curl

以下のコマンドを使用して、メモ帳を保存して閉じ、プロファイルを再読み込みするか、Powershellを閉じて開いてプロファイルを適用します。

. $profile

1
ありがとう。PowerShell開発者がこれを考え抜いていないことは迷惑であり、この方法でこの問題を回避する必要があります。
ネイサンリドリー

私はそれが1:1の代替品であることを意図しているとは思わない。Powershellは、定義された一連のパラメーターと自動パラメーターバインドの包括的使用に焦点を当てています(これを使用すると、非常に便利です)。curlエイリアスを提供することは、Powershellに同等のcurlがあることを* nixに慣れている人々に示すことです。
メガモーフ

1
最初のステップはいつでもスキップできます。ファイルを作成するかどうかを確認するポップアップが表示されました。
-np8

参考:一部のエイリアスでは、「
ダンフリードマン

「面白い」ことは、紺ureのドキュメントでもcurlコマンドを表示して、すぐにテストすることです。Invoke-WebRequest構文ではなく実際のcurlコマンド...
Akos Lukacs

4

curl.exeただの代わりに使用に固執しcurlます。このアプローチは、特定のプロファイルで実行されているPowerShellに依存していません(PowerShellは-NoProfileスイッチを使用してプロファイルなしで実行できます)。


1
理論的には、PowerShellは最終的にUNIX上で実行される可能性があり、プログラムファイルの拡張子は「.exe」ではない、と考えることができます。Unixの人々がスクリプトでエイリアスを有効にすることはまったく意味がありません。WindowsでオープンソースのGNUソフトウェアスタックを殺そうとするために、その悪いデザインの選択が意図的なものであったかどうかを疑問に思う必要があります。そして、シェルに実際のプログラムを探すように強制するための「コマンド」が少なくとも組み込まれていないのはなぜですか?Powershellは、KISSの原則では本当に失敗します。
ヨハンブール

1
@JohanBoulé陰謀論の必要はありません、それは単なる見落としでした。PowerShell 6はすでにLinuxで実行されており、エイリアスの問題は部分的に修正されています。:このリンクを参照してくださいinitialsession:削除カールやwgetのエイリアスを削除してくださいすべてのエイリアスを内蔵しており、モジュールに入れをその名前がエイリアスされたときにネイティブバイナリを呼び出すための構文を提供
beatcracker

それらのPRはどれもマージされません。ただ言って。
ダンフリードマン

0

Remove-Item alias:curPowerShellの自動実行スクリプトに追加

XP、2003より上:

%ALLUSERSPROFILE%\Documents\Msh\profile.msh
%ALLUSERSPROFILE%\Documents\Msh\Microsoft.Management.Automation.msh_profile.msh

XP、2003:

%USERPROFILE%\My Documents\msh\profile.msh
%USERPROFILE%\My Documents\msh\Microsoft.Management.Automation.msh_profile.msh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.