वैकल्पिक रूप से, एक सी प्रोग्राम लिखना संभव है जो वांछित कमांड को कॉल करता है और इसे / usr / bin पर सहेजता है।
#include <stdio.h>
#include <string.h>
int main () {
char command[50]; //notice you can change this to fit your needs
int return_val;
strcpy( command, "echo \"cd /media/Dan/evolution\" | bash -i" );
return_val = system(command);
//this is equivalent to entering the command in a new bash,
//which will return and exit
return return_val;
}
इसे संकलित करने के लिए, उस निर्देशिका में जाएँ जहाँ स्रोत सहेजा गया था (बैश में) और निष्पादित करें (आपको sudo की आवश्यकता हो सकती है):
gcc ./gb.c -o /usr/bin/gb
यहाँ आगे के शोध के बाद , मैंने महसूस किया कि कमांड में system()
बने बैश के लिए आप अपनी कमांड को फेंकना नहीं चाहेंगे। इसलिए आपको एक इंटरएक्टिव बैश का एक उदाहरण बनाने की जरूरत है और अपने आदेशों को प्रतिध्वनित करें। यह केवल अत्यधिक जटिल है और शायद बेकार है, जब तक आप नहीं चाहते हैं, चलो कहते हैं, एक शेल स्क्रिप्ट को कॉल करें ( some_script
इसके बजाय sh ~/radgeRayden/Scripts/some_script
)।
सिस्टम के लिए संदर्भ () फ़ंक्शन
alias gb='cd /media/Dan/evolution'