जब मैं दूरस्थ कमांड निष्पादित करने का प्रयास करता हूं तो ड्रश "कमांड नहीं मिला" क्यों कहता है? [बन्द है]


13

जब मैं किसी रिमोट मशीन पर कुछ करने के लिए ड्रश कमांड का उपयोग करता हूं, तो मुझे निम्न संदेश मिलता है:

bash: drush: कमांड नहीं मिला

समस्या क्या है?


जिस तरह से मैं आपके प्रश्न को देख रहा हूं, यह अभी भी बैश के बारे में है, न कि ड्रुपल के बारे में। न ही ड्रश के बारे में, वास्तव में, क्योंकि अगर कमांड निष्पादित नहीं होती है, तो इससे कोई फर्क नहीं पड़ता कि यह ड्रश, पेड़, विग या क्या है। और मैं इसे बिना किसी उत्तर के लिखता हूं, मेरी राय केवल प्रश्न पर आधारित है, जैसा आपने पूछा था।
13

@ Mołot: एक बार जब आपको उत्तर पता हो जाता है (और केवल तब) यह आपको bash के बारे में लग सकता है, क्योंकि आपको पता है कि समस्या का स्रोत bash के साथ है, लेकिन इससे पहले कि आप उत्तर को जानें, यह संदेश की तरह दिखता है "Bash है यह कहते हुए कि ड्रश कह रहा है कि आज्ञा नहीं मिली है "। बैश प्रकट होता है शुरू में केवल Drush से एक संदेश ले जाने के किया जाना है। बेशक यह वह नहीं है जो वास्तव में हो रहा है, लेकिन आप यह नहीं जानते कि जब तक आप जवाब नहीं जानते हैं । सवाल इसलिए एक सवाल है (जैसा कि वे जानते हैं कि जहां तक) एक Drupal उपयोगकर्ता के बारे में, हो सकता है Drush है। इसका जवाब बैश को सबसे आगे लाता है।
इकोनॉस्टल डेका

जब मैंने अपनी टिप्पणी ऊपर पोस्ट की है, तब भी मैंने कोई जवाब नहीं देखा है । यह आपके प्रश्न में स्पष्ट है कि आप कमांड को खोजने में असमर्थ होने के बारे में पूछ रहे हैं। आप त्रुटि पंक्ति को उद्धृत करते हैं, जहां यह रिपोर्ट करता है कि यह ड्रश नहीं पा सकता है। आप, कोई उत्तर देने वाला नहीं। मेरी पहली टिप्पणी समीक्षा कतार में थी और हमें वहां उत्तर भी नहीं मिले। हम यह भी नहीं देखते कि कोई है या नहीं।
Mołot

न केवल कॉलोन्स का सिंटैक्स लगता है कि बैश कह रहा है कि ड्रश कह रहा है ... , लेकिन जहां तक ​​उपयोगकर्ता का संबंध है, एक ड्रश कमांड जारी किया गया था, इसलिए यह उस कमांड की व्याख्या करने के लिए सबसे स्वाभाविक है जिसे इस रूप में संदर्भित किया जा रहा है Drush के बजाय Drush कमांड।
आइकनोकॉस्ट

1
"उत्तर" = "समाधान"। "उत्तर! =" उत्तर "। आप समाधान पता था कि इससे पहले कि आप किसी भी उत्तर पढ़ें। यही कारण है कि सभी के लिए सच होने के लिए नहीं जा रहा है। प्रश्नों की सामग्री के आधार पर वर्गीकृत किया जाना चाहिए सवाल का नहीं सामग्री जवाब या (" समाधान "आप अगर पसंद करते हैं)
iconoclast

जवाबों:


15

यह संदेश दूरस्थ मशीन से है कि यह समझ में नहीं आया कि drushनिष्पादन योग्य को कहां से ढूंढना है , कि ड्रश ने शिकायत की कि यह (उप) कमांड नहीं मिल सकता है जिसे आप इसे देने की कोशिश कर रहे हैं, भले ही विराम चिह्न बाद का सुझाव दे। (यदि bash:इसका अर्थ है कि बैश आपको संदेश भेज रहा है, तो drush:इसका मतलब वही होना चाहिए - यदि कोई संगति है। लेकिन वास्तव में इसका मतलब यह है कि drush:यह संदेश का विषय है, न कि संदेश का स्रोत bash:आपके पास से गुजरा है । यदि दूसरा :हटा दिया गया तो स्पष्ट हो ।)

Drush ssh पर आपकी रिमोट मशीन में लॉग इन करता है, लेकिन यह एक सामान्य इंटरैक्टिव लॉगिन नहीं है, इसलिए यह .bash_profile स्रोत नहीं करता है। हालाँकि, यह .bashrc फ़ाइल का स्रोत है।

अपने दूरस्थ .Bashrc में PATH वैरिएबल में ड्रश पाथ जोड़ें (ड्रू ही नहीं, जिसमें ड्रश युक्त डायरेक्टरी भी शामिल है)। उदाहरण के लिए, यह इस तरह दिख सकता है:

PATH=$PATH:/usr/local/zend/bin

8
अपने ~ / .bashrc में निम्नलिखित के लिए भी देखें [ -z "$PS1" ] && return:। यदि गैर-संवादात्मक मोड में चल रहा है, तो कुछ प्लेटफ़ॉर्म इसका उपयोग करते हैं। उदाहरण के लिए, उबंटू इसे आपके प्रारंभिक .bashrc में रखता है। यदि आप अपना पैट सेट करते हैं, तो आपको यह सुनिश्चित करने की ज़रूरत है कि आप इसे किसी भी सशर्त से पहले सेट करें जैसे कि यह जल्दी बाहर निकलने के लिए मजबूर कर सकता है।
greg_1_anderson 5

3
जवाब और टिप्पणी के लिए धन्यवाद। मुझे उबंटू 14.04 पर .bashrcलाइन से पहले पथ को संपादित करना था # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac
शॉन डायकोको जूल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.