मैं स्थायी रूप से एक डिफ़ॉल्ट पॉवर्सशेल उर्फ ​​कैसे निकालूं?


23

किसी अज्ञात कारण से, देवताओं ने "कर्ल" को एक उपनाम के रूप में शामिल किया Invoke-WebRequest, भले ही यह कर्ल के उचित कार्यान्वयन के साथ संगत नहीं है, जिसका अर्थ है कि जब मैं कर्ल अनुरोध करने का प्रयास करता हूं तो यह उस तरीके से हो जाता है। मैं उपनाम का उपयोग करके हटा सकता हूं Remove-Item alias:curl, लेकिन अगली बार जब मैंने पॉवर्सशेल शुरू किया, तो उपनाम वापस आ गया। क्या हर बार मेरे द्वारा शुरू की गई स्क्रिप्ट को चलाने के बिना इसे स्थायी रूप से हटाने का कोई तरीका है?


बस FYI करें: मैंने Remove-Item alias:curlविंडोज़ सर्वर 2019 के अंदर एक ही कमांड जारी किया है और यह फिर से दिखाई देने के बाद भी प्रकट नहीं होता है
matson kepson

जवाबों:


33

यदि आपके पास पहले से पॉवर्सशेल प्रोफ़ाइल है तो इस चरण को छोड़ दें:

New-Item $profile -force -itemtype file

फिर अपना प्रोफ़ाइल संपादित करें:

notepad $profile

इसमें निम्न पंक्ति जोड़ें:

remove-item alias:curl

नीचे दिए गए कमांड के साथ प्रोफ़ाइल को सहेजें, बंद करें और फिर से लोड करें और प्रोफ़ाइल को लागू करने के लिए Powershell को खोलें:

. $profile

1
धन्यवाद। मुझे कहना चाहिए कि यह कष्टप्रद है कि पावरशेल डेवलपर्स ने इस बारे में नहीं सोचा, मजबूरन हमें अब इस तरह से इस मुद्दे पर काम करना होगा।
नाथन रिडले

मुझे नहीं लगता कि यह 1: 1 प्रतिस्थापन होने का मतलब है। पॉवर्सशेल पैरामीटर और स्वचालित पैरामीटर बाइंडिंग के एक निर्धारित सेट के ओवररचिंग उपयोग पर ध्यान केंद्रित करता है (जो वास्तव में एक बार आपको इसमें आने पर बहुत अच्छा लगता है)। कर्ल उर्फ ​​प्रदान करना लोगों को * निक्स के आदी लोगों को दिखाना है कि पॉवर्स में बराबर कर्ल है।
मेगामॉर्फ

1
पहला कदम हमेशा छोड़ा जा सकता है। मैंने अभी किया था, और एक पॉप-अप पूछ रहा था कि क्या मैं फ़ाइल बनाना चाहता हूं।
np8

FYI करें: कुछ उपनामों के लिए, आपको "-Force" संलग्न करना होगा
Dan Friedman

"मज़ेदार" बात यह है कि एज़ुर डॉक्स भी कर्ल कमांड को जल्दी से परखने के लिए दिखाते हैं। रियल कर्ल कमांड, Invoke-WebRequestसिंटैक्स नहीं ...
अकोस लुकाक्स

4

मैं curl.exeसिर्फ के बजाय का उपयोग कर के साथ रहना होगा curl। यह दृष्टिकोण किसी विशेष प्रोफ़ाइल के साथ चलने वाले PowerShell पर निर्भर नहीं करता है (और PowerShell को -NoProfileस्विच का उपयोग करके बिना किसी प्रोफ़ाइल के साथ चलाया जा सकता है )।


1
मैं तर्क दे सकता हूं कि सिद्धांत रूप में, पावरशेल अंततः यूनिक्स पर चल सकता है, जहां प्रोग्राम फ़ाइलों में ".exe" एक्सटेंशन नहीं है। यह बिल्कुल कोई मतलब नहीं है कि लोगों को एकजुट करने के लिए स्क्रिप्ट में सक्षम उपनाम है । मुझे आश्चर्य है कि क्या यह खराब-डिज़ाइन विकल्प विंडोज़ पर ओपनसोर्स जीएनयू सॉफ़्टवेयर स्टैक को मारने की कोशिश करने के लिए जानबूझकर किया गया था। और कम से कम हमारे पास एक "कमांड" क्यों नहीं है, जो वास्तविक कार्यक्रम की तलाश करने के लिए शेल को बनाने के लिए अंतर्निहित है? Powershell वास्तव में KISS सिद्धांत पर विफल रहता है।
जोहान बोले

1
@ जोहानबौले को साजिश के सिद्धांतों की कोई जरूरत नहीं है, यह सिर्फ एक निरीक्षण था। PowerShell 6 पहले से ही लिनक्स पर चलता है और अन्य मुद्दों को आंशिक रूप से तय किया जाता है। इस लिंक को देखें: आरंभीकरण: कर्ल को हटा दें और उपनामों को हटा दें , कृपया सभी अंतर्निहित उपनामों को हटा दें और उन्हें एक मॉड्यूल में डालें , देशी बायनेरिज़ को कॉल करने के लिए एक सिंटैक्स प्रदान करें जब इसका नाम
अलियास हो

उन पीआरएस में से कोई भी विलय नहीं है। बस केह रहा हू।
डैन फ्राइडमैन

0

Remove-Item alias:curऑटोरन स्क्रिप्ट में शक्तियां जोड़ें

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.