अगर पूर्ण पथ टाइप किए बिना प्रोग्राम / शेल स्क्रिप्ट चलाने का कोई तरीका है, तो मैं जानना चाहता हूं:
/opt/idea/bin/idea.sh
अगर पूर्ण पथ टाइप किए बिना प्रोग्राम / शेल स्क्रिप्ट चलाने का कोई तरीका है, तो मैं जानना चाहता हूं:
/opt/idea/bin/idea.sh
जवाबों:
आप बस सिम्लिंक बना सकते हैं । इसमें बनाएँ /usr/local/bin
। आपको बस कमांड चलाने की जरूरत है:
sudo ln -s /full/path/to/your/file /usr/local/bin/name_of_new_command
उसके बाद आपको अपना file
निष्पादन योग्य बनाना चाहिए :
chmod +x /full/path/to/your/file
अब आपको name_of_new_command
अपने टर्मिनल पर किसी भी समय चलने में सक्षम होना चाहिए ।
ध्यान दें कि यह केवल लिनक्स के घरेलू उपयोग के लिए अच्छा समाधान है।
/usr/local/bin
एक निजी होम फ़ोल्डर में स्क्रिप्ट के लिए उस बिंदु पर एक सिमलिंक नहीं रखना चाहिए , जैसे कि /home/jack/myscript.sh
, केवल उपयोगकर्ता jack
आमतौर पर इसे निष्पादित करने में सक्षम होंगे। सिमलिंक अन्य उपयोगकर्ताओं के लिए दिखाई देगा, लेकिन उस फ़ाइल की ओर नहीं, जिसके लिए वह इंगित करता है। एकल-उपयोगकर्ता प्रणाली पर यह बात नहीं हो सकती है, लेकिन फिर भी, लिपियों (या लिपियों के लिंक) को रखने के लिए यह "अच्छा अभ्यास" है जिसे सभी उपयोगकर्ता पढ़ सकते हैं /usr/local/bin
, और निजी, स्व-निर्मित स्क्रिप्ट (या लिपियों के लिंक) उनके ~/bin
फ़ोल्डर में एक एकल उपयोगकर्ता ।
आप /opt/idea/bin
अपने PATH
चर में जोड़ सकते हैं :
PATH=/opt/idea/bin:"$PATH"
इसके बाद आप इसे बस के साथ चला सकते हैं idea.sh
।
आप शायद इस लाइन को अपनी ~/.bashrc
फ़ाइल में जोड़ना चाहते हैं ।
idea
, आपको उस नाम के साथ एक लिंक या उपनाम तैयार करना होगा idea.sh
।
idea.sh
स्क्रिप्ट ऐसी स्क्रिप्ट नहीं है, वास्तव में यह अपनी स्थापना निर्देशिका के बाहर घूम रहा है पूरी तरह से असमर्थित है। डेबियन पैकेजिंग नियम यहां लागू नहीं होते हैं।
आप में एक समारोह बना सकते हैं ~/.bashrc
:
some-name () {
/path/to/your/file
# or:
#cd /path/to/your
#./path
}
या आप एक बना सकते हैं alias
:
alias some-name='/path/to/your/file'
# or
#alias some-name='cd /path/to/your/; ./file'
दोनों स्थितियों में, आप इसे कॉल करके चला सकते हैं:
$ some-name
यदि फ़ाइल इस बात पर निर्भर नहीं करती है कि वह कहाँ चल रही है, तो इसे अपने साथ जोड़ने पर विचार करें ~/bin
:
mkdir -p ~/bin
cp /path/to/you/file ~/bin
# or mv /path/to/you/file ~/bin
# or ln -s /path/to/you/file ~/bin
~/bin
, अगर यह मौजूद है, तो अपने $PATH
आप जुड़ जाता है । फिर आप सीधे कॉल करें file
:
$ file
(हालांकि नाम का बुरा विकल्प, इसे कुछ कम सामान्य कॉल करने पर विचार करें।)
file
से अपने को जोड़ने के समाधान के लिए +1 ~/bin
, जो कि मैं आमतौर पर (लंबी लिपियों के लिए) करता हूं। मैं शायद यह भी डाल सकता हूँ कि शीर्ष पर :) उपनाम कुछ मापदंडों के साथ कमांड के लिए शॉर्टकट के लिए अच्छे हैं, उदाहरण के लिए alias l='ls -CF'
। हालांकि मैंने एलियासेस के बहुत अधिक भयानक उपयोग देखे हैं । मैं कार्यों की घोषणा नहीं करता ~/.bashrc
(मैं अपनी सभी लिपियों को अलग-अलग फाइलों में व्यवस्थित करना पसंद करता हूं ~/bin
)। हालांकि यह सब स्वाद की बात है, मुझे लगता है :)
cd
, क्योंकि स्क्रिप्ट कार्यशील निर्देशिका पर निर्भर हो सकती है। :) नहीं तो, हाँ, मैं ~/bin
अपने आप में फ़ाइलों को रखना चाहता हूँ।
आप निम्न कमांड का उपयोग करके एक लांचर बना सकते हैं:
gnome-desktop-item-edit --create-new <path-where-to-save>
। मैं इस विंडो को खोलूंगा।
जो भी आपको पसंद है उसे नाम दें और कमांड बॉक्स में निम्नलिखित लिखें
sh -c '/opt/idea/bin/idea.sh'
और इसे बचाओ।
अब आप उस फ़ाइल को नए बनाए गए लॉन्चर का उपयोग करके चला सकते हैं
या
आप निम्न सामग्री के साथ एक .desktop फ़ाइल बना सकते हैं
[Desktop Entry]
Name=<whatever-you-want>
Exec=sh -c '/opt/idea/bin/idea.sh'
Terminal=false
Type=Application
Icon='<path to an icon file if you want>'
अब इसे .desktop
किसी भी जगह पर एक्सटेंशन के साथ सेव करें ।
इस कमांड के साथ इसे निष्पादित करें chmod a+x <your-desktop-file>
अब इसे खोलने के लिए डबल क्लिक करें।
हम bind
कॉल करने के लिए कमांड का उपयोग करके एक फ़ंक्शन और एक ऐड हॉटकी को परिभाषित कर सकते हैं । ~/.bashrc
फ़ाइल खोलें और इसमें ये लाइन जोड़ें:
# define function that opens your program in working directory
Openprog(){
/your-Program/path/here
}
# bind hotkey to it (<F12>)
bind -x '"\e[24~":"Openprog"'
अब जब आप दबाते हैं F12, तो आपका प्रोग्राम लॉन्च होगा।
नोट: एस्केप कोड निर्धारित करने का एक त्वरित तरीका:
अपना टर्मिनल खोलें और Ctrl+ दबाएँ V। अब अपने पसंदीदा कीबोर्ड शॉर्टकट को दबाएं। सही बच कोड दिखाई देना चाहिए। बस बदलना सुनिश्चित करें ^[
साथ \e
शॉर्टकट, जैसे को बदलने के लिए जोड़ने से पहले ^[[24~
साथ \e[24~
।
हम /opt/idea/bin/idea.sh
फाइल को सीधे इस्तेमाल करके भी चला सकते हैंbash_aliases
~/.bashrc
फ़ाइल को चलाकर खोलें ,
gedit ~/.bashrc
#
लाइनों से पहले निकालें और इसे सहेजें, ताकि लाइनें दिखें,
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
अब ~/.bash_aliases
फ़ाइल खोलें ,
gedit ~/.bash_aliases
उस फ़ाइल में निम्न पंक्तियाँ जोड़ें और इसे सहेजें,
alias idea='cd /opt/idea/bin && sudo ./idea.sh'
अंत में ~/.bashrc
फ़ाइल का स्रोत ,
source ~/.bashrc
अब आप /opt/idea/bin/idea.sh
सीधे फ़ाइल चला सकते हैं ,
idea
अन्य अच्छे उत्तरों के अलावा, ~/.local/bin
इस निर्देशिका को अपने PATH ( .bashrc
उदाहरण के लिए अपने भीतर से ) में जोड़ने पर विचार करें । इस पद्धति के लिए विशेष अनुमति की आवश्यकता नहीं है ( /usr/local/bin
उदाहरण के लिए , सहानुभूति के विपरीत )। इस तरह, आपके $ HOME को भर दिए बिना एक मानक निर्देशिका संरचना हो सकती है। इसके बारे में इन https://unix.stackexchange.com/ प्रश्नों पर पढ़ें :
या आप बस उपयोग कर सकते हैं
nano ~/.bashrc
और जोड़
PATH=/full/path/to/file:"$PATH"
इसके अंत में, फिर सहेजें और बाहर निकलें। बाद में, आप बस फ़ाइल का नाम टाइप कर सकते हैं।
मैंने यहां और अन्य स्थानों पर सभी उत्तरों का पालन किया और इसलिए यह उल्लेख करने में कुछ विफल रहे कि आपको अंततः काम करने के लिए कमांड के लिए लॉग इन करना पड़ सकता है ।
बस पुनर्कथन करने के लिए, विशेष रूप से ज़ुबंटू के लिए , लेकिन अन्य डेबियन / उबंटू वेरिएंट के लिए और साथ ही मैंने ये सरल निर्देश लिखे।
(निम्नलिखित निर्देशों में हम निर्देशिका ~ / बिन का उपयोग करते हैं , क्योंकि यह स्वचालित रूप से एक जगह है जहाँ से ये OS कमांड की तलाश में हैं। यहाँ देखें :
# Open Terminal with Ctrl + Alt + T (or your system's own shortcut)
# You'll work in your home folder, no need to use sudo for any of this
cd # Go to home directory
mkdir -p bin # Create folder ~/bin if it doesn't exist
# Be careful not to type /bin, that's the bin folder in system root: /
sudo apt install nano # Skip this if you have Nano installed
nano bin/yournewcommand
# In Nano, type:
printf "Your new command works! \n" # \n means line break
# Ctrl+X To leave Nano
# Ctrl+Y To save the unsaved file
# Enter to confirm
chmod +x bin/yournewcommand
yournewcommand # If you just created the bin folder, this command might not yet work.
# You must now log out and log back in to make the bin folder noticed (I think)
yournewcommand # Now it works! (You can use Tab to autocomplete the command you're typing)
# If you add a second file/command, it should work without logging out (at least in my tests)