ฉันจะลบนามแฝง Powershell เริ่มต้นได้อย่างถาวรได้อย่างไร


22

ด้วยเหตุผลที่ไม่ทราบบางอย่าง devs ได้รวม "curl" ไว้เป็นนามแฝงInvoke-WebRequestถึงแม้ว่ามันจะไม่เข้ากันกับการใช้ curl ที่เหมาะสมซึ่งหมายความว่ามันจะเข้าทางเมื่อฉันพยายามที่จะทำการร้องขอ curl ฉันสามารถลบนามแฝงที่ใช้Remove-Item alias:curlแต่ครั้งต่อไปที่ฉันเริ่ม Powershell นามแฝงกลับมาแล้ว มีวิธีลบอย่างถาวรโดยไม่ต้องเรียกใช้สคริปต์ทุกครั้งที่ฉันเริ่มหรือไม่


แค่ปีงบประมาณ: ฉันได้ออกคำสั่งเดียวกันRemove-Item alias:curlใน windows server 2019 และมันจะไม่ปรากฏขึ้นอีกครั้งแม้หลังจากการคืนค่า
matson kepson

คำตอบ:


33

ข้ามขั้นตอนนี้หากคุณมีโปรไฟล์ Powershell อยู่แล้ว:

New-Item $profile -force -itemtype file

จากนั้นแก้ไขโปรไฟล์ของคุณ:

notepad $profile

เพิ่มบรรทัดต่อไปนี้:

remove-item alias:curl

บันทึกปิดแผ่นจดบันทึกและโหลดโปรไฟล์ใหม่ด้วยคำสั่งด้านล่างหรือปิดและเปิด Powershell เพื่อใช้โปรไฟล์:

. $profile

1
ขอบคุณ ฉันต้องบอกว่ามันน่ารำคาญที่นักพัฒนา powershell ไม่ได้คิดอย่างนี้บังคับให้เราต้องแก้ไขปัญหาด้วยวิธีนี้
นาธานริดลีย์

ฉันไม่คิดว่ามันจะเป็นการทดแทน 1: 1 Powershell มุ่งเน้นไปที่การใช้ชุดพารามิเตอร์ที่กำหนดไว้อย่างครอบคลุมและการผูกพารามิเตอร์อัตโนมัติ (ซึ่งยอดเยี่ยมมากเมื่อคุณเข้าใช้) การให้นามแฝงของขดคือการแสดงให้ผู้คนคุ้นเคยกับ * ระวังว่ามีขดเทียบเท่าใน Powershell
megamorf

1
ขั้นตอนแรกสามารถข้ามได้เสมอ ฉันเพิ่งทำและได้รับป๊อปอัปถามว่าฉันต้องการสร้างไฟล์
np8

FYI: สำหรับนามแฝงบางอย่างคุณจะต้องผนวก "-Force"
Dan Friedman

สิ่งที่ "ตลก" คือแม้เอกสารสีน้ำเงินแสดงคำสั่ง curl เพื่อทดสอบสิ่งต่าง ๆ อย่างรวดเร็ว คำสั่งขดจริงไม่Invoke-WebRequestไวยากรณ์ ...
Akos Lukacs

4

ฉันติดกับการใช้แทนเพียงcurl.exe curlวิธีการนี้ไม่พึ่งพา PowerShell ในการทำงานกับโพรไฟล์เฉพาะ (และ PowerShell สามารถรันได้โดยไม่ต้องใช้โพรไฟล์ใด ๆ เลย-NoProfile)


1
ฉันสามารถยืนยันได้ว่าในทางทฤษฎีแล้ว PowerShell อาจทำงานบนยูนิกซ์ซึ่งไฟล์โปรแกรมไม่มีส่วนขยาย ".exe" มันทำให้รู้สึกไม่แน่นอนกับคนยูนิกซ์ที่จะมีการเปิดใช้งานในนามแฝงสคริปต์ ฉันต้องสงสัยว่าตัวเลือกการออกแบบที่ไม่ดีนั้นมีเจตนาที่จะพยายามกำจัดซอฟต์แวร์โอเพ่นซอร์ส GNU ใน Windows หรือไม่ แล้วทำไมเราถึงไม่มี "command" ในตัวเพื่อบังคับให้ shell หาโปรแกรมจริง Powershell ล้มเหลวจริงๆในหลักการ KISS
Johan Boulé

1
@ JohanBouléไม่จำเป็นสำหรับทฤษฎีสมคบคิดมันเป็นเพียงการกำกับดูแล PowerShell 6 ทำงานบน Linux แล้วและปัญหานามแฝงได้รับการแก้ไขบางส่วน ดูลิงก์นี้: initialsession: ลบนามแฝง curl และ wget , โปรดลบนามแฝงที่มีอยู่แล้วทั้งหมดและใส่ไว้ในโมดูล , สร้างไวยากรณ์เพื่อโทรหาไบนารีท้องถิ่นเมื่อชื่อเป็นนามแฝง
beatcracker

ไม่มีการรวม PRs เข้าด้วยกัน แค่พูด.
Dan Friedman

0

เพิ่มRemove-Item alias:curในสคริปต์การทำงานอัตโนมัติของ PowerShell

เหนือ 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.