"आदेश नहीं मिला" में निष्पादन योग्य प्रतीकात्मक लिंक परिणाम


24

मैंने इस तरह एक प्रतीकात्मक लिंक (कल) बनाया:

sudo ln -s bin/python /usr/bin/prj-python

जब मैं दौड़ता हूं:

prj-python file.py

मुझे मिला:

prj-python: command not found

जब मैं दोबारा लिंक बनाने की कोशिश करता हूं, तो मुझे यह मिलता है:

ln: प्रतीकात्मक लिंक बनाना '/ usr / bin / prj-python': फाइल मौजूद है

ऐसा क्यों हो रहा है? मेरा $PATHहै:

/ Usr / स्थानीय / sbin: / usr / स्थानीय / बिन: / usr / sbin: / usr / bin: / sbin: / बिन: / usr / खेल: / opt / वास्तविक / वी.ओ.

जवाबों:


21

आप शुरुआती स्लैश को भूल गए bin/python। इसका मतलब है कि /usr/bin/prj-pythonअब यह इंगित करता है /usr/bin/bin/python। क्या आप इसे वास्तव में इंगित करना चाहेंगे?


प्रारंभिक स्लैश नहीं है। pwdहै /home/xralf/my_virtual_envऔर यह उप-निर्देशिका है binसाथ pythonआदेश
— xralf

8
की तुलना में, आप भूल गए गए हैं $PWD/पहले bin।
— आरवीएस

धन्यवाद, इससे मदद मिली। मैंने इस कमांड का उपयोग किया क्योंकि यह पुस्तक में था।
— xralf

25

जाँच करने के लिए चीजें:

  • प्रदर्शन करें ls -l /usr/bin/prj-python

यदि यह ऐसा है:

lrwxrwxrwx (...) /usr/bin/prj-python -> bin/python

फ़ाइल वास्तव में / usr / bin / bin / python पर खोजा जाएगा (यही xralf ने कहने की कोशिश की है)। ठीक कर:

rm /usr/bin/prj-python
ln -s /full/path/to/your/python /usr/bin/python-prj

  • यदि आपकी bin/pythonएक शेल स्क्रिप्ट (उर्फ। रैपर-स्क्रिप्ट) है तो पहली पंक्ति में #! - लाइन (जिसे कभी-कभी शेबांग -लाइन कहा जाता है ) की जाँच करें । अगर वहाँ एक टाइपो है #!/bin/bushकि एक त्रुटि संदेश भी नहीं मिलेगा कारण है ।

धन्यवाद, आपका जवाब और भी अधिक सावधान और शैक्षिक है। क्षमा करें, मैंने पहले ही स्वीकार कर लिया है।
— xralf

इससे बहुत मदद मिली ... ज्यादातर जवाब अगर $ PATH के बारे में मिले
— Ja8zyjits

मैं एक पैरामीटर के बिना एक ln का उपयोग करता हूं। लोगों को वास्तव में ln -s का उपयोग करना चाहिए, इस प्रकार एक प्रतीकात्मक लिंक बनाना चाहिए।
— सेड्रिक

मदद की, और मैंने इस्तेमाल किया ln -s $PWD/python /usr/bin/python-prj। $PWDपूर्ण पथ प्राप्त करने के लिए उपयोग किया जाता है।
— मानवल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.