PowerShell यूनिक्स `जो` कमांड के बराबर है?


69

क्या PowerShell whichमें सबसे अधिक (यदि सभी नहीं) यूनिक्स गोले पाए गए कमांड के बराबर है ?

कमांड लाइन से मैं जिस चीज को चला रहा हूं उसका स्थान जानना चाहते हैं। यूनिक्स में मैं बस करता हूं which <command>, और यह मुझे बताता है। मुझे PowerShell में एक समान नहीं मिल रहा है।

जवाबों:


71

यह स्टैक ओवरफ्लो पर पूछा गया और जवाब दिया गया: * निक्स के बराबर 'जो कि पावरशेल में कमांड है?

एक बार जब मैंने PowerShell में अपनी प्रोफ़ाइल को अनुकूलित करना शुरू किया, तब मैंने जो किया था, वह 'जो' था।

नया-उपनाम जो मिलता है-आज्ञा

इसे अपनी प्रोफ़ाइल में जोड़ने के लिए, यह लिखें:

"` nNew-Alias ​​जो मिलता है-कमांड "| ऐड-कंटेंट $ प्रोफ़ाइल

अंतिम पंक्ति के प्रारंभ में `n यह सुनिश्चित करना है कि यह एक नई पंक्ति के रूप में शुरू होगा।


35

PowerShell 3.0 के अनुसार, आप कर सकते हैं

(Get-Command cmd).Path

वनीला गेट-कमांड पर भी इसका लाभ है, System.Stringताकि आपको एक स्वच्छ * निक्सी सिंगल लाइन आउटपुट प्राप्त हो जैसे कि आपको उपयोग किया जा सकता है। Gcm उपनाम का उपयोग करके, हम इसे 11 वर्णों तक ले जा सकते हैं।

(gcm cmd).Path

4
यदि Get-Commandकई परिणाम मिलते हैं, तो यह एक सरणी देता है। इसके अतिरिक्त, यदि यह कमांड पाती है तो निष्पादन योग्य नहीं है, Pathअपरिभाषित है ( $null)। यह यहाँ भारी संशोधन के बिना सामान्य उपयोग के लिए उत्तर को अव्यवहारिक बनाता है। इन दोनों मामलों के अच्छे उदाहरण के लिए, प्रयास करें Get-Command where
jpmc26

1
यह स्वीकृत उत्तर होना चाहिए क्योंकि यह वास्तव में आपको बताता है कि Powershell * NIX कमांड के बराबर क्या है जो आपको यह whereसिखाने के बजाय कि Powershell पर उपनाम कैसे सेट करें, जो प्रश्न का शीर्षक नहीं है।
मस्तज़ी

3
@mastazi: लेकिन कि builtins के लिए विफल रहता है, जो एक प्रतिगमन है जैसे की तुलना में zsh की which। ( where, वैसे, वास्तव में एक है विंडोज उपयोगिता है कि अलग अलग बातें की एक संख्या है, जिनमें से एक कर सकते हैं मोटे तौर पर साथ एक आदेश के लिए खोज का अनुमान लगाती है PATH।) इसके अलावा, वहाँ है कुछ भी नहीं एक जवाब बताते हैं कि कैसे क्या कहा गया था करने के लिए के साथ गलत और उस पर निर्मित एक और, थोड़ा और अधिक शामिल चीज।
सैमब

7

2008 में भी उत्तर दिया गया: क्या विंडोज कमांड लाइन पर 'जो' के बराबर है?

whereयदि आपने संसाधन किट स्थापित की है, तो कमांड का प्रयास करें ।

उत्तर के सबसे महत्वपूर्ण भाग:

विंडोज सर्वर 2003 और बाद में WHEREकमांड जो कुछ करता है उसे प्रदान करता है, हालांकि यह सभी प्रकार की फाइलों से मेल खाता है, न कि केवल निष्पादन योग्य कमांड।

[स्निप]

Windows PowerShell में आपको टाइप करना होगा where.exe


3
function which([string]$cmd) {gcm -ErrorAction "SilentlyContinue" $cmd | ft Definition}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.