टर्मिनल कमांड से प्रोग्राम को चलाने में सक्षम बनाएं


2

में कार्यक्रम कर रही है /home/user/Downloads/program/main

मैं इसे कमांड से cd /home/user/Downloads/program && ./mainया GUI से लॉन्च कर सकता हूं ।

क्या मैं चाहता हूँ टाइप करके टर्मिनल से यह शुरू करने के लिए है main मैं करने की कोशिश की ln -s /home/user/Downloads/program/main /usr/local/binया करने के लिए /bin, लेकिन यह कोई प्रभाव नहीं पड़ा।

लिंक करने से पहले मैंने chmod +xकमांड जारी की ।

यह संकलित कार्यक्रम, त्रुटि संदेश मुझे मिलता है main: command not found

मैं क्या गलत कर रहा हूँ?


जब आप प्रोग्राम चलाने का प्रयास करते हैं तो क्या कोई त्रुटि संदेश है? और क्या यह एक स्क्रिप्ट, या एक संकलित कार्यक्रम है?
नाथन.इलिशा शिरैनी

@NathanShiraini, संकलित कार्यक्रम, संदेशmain: command not found
माइक्रोनोनिमो

सैद्धांतिक रूप से आपको बस इसे करना chmod +xहोगा और इसे या अपने पीएटीएच में एक फ़ोल्डर में एक लिंक डालना होगा। इन फ़ोल्डरों को देखने के लिए, कमांड चलाएँ echo $PATH
नाथन.इलिशा शिरनी

पहले से ही यह किया है। मुझे लगा कि मैं कुछ गलत कर रहा हूं
micgeronimo

क्या आप ls -al /home/user/Downloads/program/mainअनुमति सत्यापित करने के लिए, का आउटपुट प्रदान कर सकते हैं ?
जेहाद

जवाबों:


2

ऐसा लगता है कि आपको उस निर्देशिका को अपने पथ में जोड़ने की आवश्यकता है। ऐसा करने के लिए सटीक कमांड निर्भर करता है कि कौन सा शेल उपयोग में है। बैश के लिए, आपको कुछ इस तरह की आवश्यकता होगी:

export PATH=$PATH:/home/user/Downloads/program/

स्पष्टीकरण:

  • PATH = $ PATH मौजूदा पथ को आपके द्वारा बनाए जा रहे नए पथ के भाग के रूप में रखता है।
  • : / होम / उपयोगकर्ता / डाउनलोड / कार्यक्रम / उस निर्देशिका को पथ में जोड़ता है (अंत में, इसलिए यह अंतिम खोज की गई चीज़ है)।
  • निर्यात शेल में रास्ता डालता है ताकि वह वहां रहे। आपको एकल सत्र के लिए उस हिस्से की आवश्यकता नहीं हो सकती है। हालाँकि, यदि आप इसे भविष्य के लॉगिन सत्रों में रखना चाहते हैं, तो आप इसे अपने .bashrc (या जब आप लॉगिन करते हैं तो निष्पादित होने वाली अन्य फ़ाइल) में जोड़ना चाहेंगे।

1

जब आप पथ में एक नया प्रोग्राम जोड़ते हैं, तो आपको टाइप करना होगा

rehash

इसके लिए खोल के लिए जाना जाता है।


0

तेजी से ठीक होने के रूप में आप एक उपनाम बना सकते हैं। आप इसे ~/.bashrcदर्ज करें:

alias main='/home/user/Downloads/program/./main' 

फिर exec bashअपने टर्मिनल में दौड़ें और यह काम करे। यदि आप बैश का उपयोग नहीं कर रहे हैं तो कुछ समान अन्य गोले के लिए काम करेगा। उदाहरण के लिए शेल के ~/.zshrcलिए फ़ाइल में लिखना zsh

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