एक बार जब गनोम-टर्मिनल ने बैश शुरू कर दिया है, तो यह लूप से बाहर है जहां तक कमांड निष्पादन का संबंध है: यह केवल इनपुट और आउटपुट का प्रबंधन करता है। तो आपको ~/.bashrc
लोड होने के बाद कुछ चलाने के लिए बैश के सहयोग की आवश्यकता होगी ।
सबसे पहले, कई मामलों में, आपको वास्तव में आदेशों को निष्पादित करने की आवश्यकता नहीं है ~/.bashrc
। उदाहरण के लिए, किसी विशेष निर्देशिका में एक टर्मिनल खोलने के साथ बस किया जा सकता है cd /foo/bar && gnome-terminal
। आप एक समान तरीके से पर्यावरण चर सेट कर सकते हैं VAR=value gnome-terminal
:। (यदि आपका ~/.bashrc
पर्यावरण चर चरता है, तो आप इसे गलत कर रहे हैं: पर्यावरण चर परिभाषाएँ इसमें हैं~/.profile
)
टर्मिनल में कमांड निष्पादित करने के लिए, लेकिन पहले ~/.bashrc
, आप कर सकते हैं
gnome-terminal -x sh -c 'command1; command2; exec bash'
यदि आप कई टैब का उपयोग करना चाहते हैं, तो आपको -e
इसके बजाय उपयोग करना होगा -x
। ग्नोम-टर्मिनल अनजाने में -e
एक शेल के माध्यम से निष्पादित करने के बजाय रिक्त स्थान के तर्क को विभाजित करता है । फिर भी, आप एक शेल कमांड लिख सकते हैं यदि आप यह सुनिश्चित करते हैं कि इसमें रिक्त स्थान शामिल नहीं हैं। कम से कम सूक्ति-टर्मिनल 2.26 के साथ, आप टैब का उपयोग कर सकते हैं, हालाँकि ( <TAB>
शाब्दिक टैब वर्ण द्वारा प्रतिस्थापित ):
gnome-terminal -e 'sh -c command1;command2;exec<TAB>bash'
gnome-terminal --tab -e 'sh -c command1;<TAB>exec<TAB>bash' \
--tab -e 'sh -c command2;<TAB>exec<TAB>bash'
अगर आपको कमांड चलाने की जरूरत है ~/.bashrc
, तो इसे कमांड को रन करें। उदाहरण के लिए, निम्नलिखित कोड को निम्नलिखित में शामिल करें ~/.bashrc
:
eval "$BASH_POST_RC"
उसके बाद कुछ कोड चलाने के लिए (वास्तव में, आपके bashrc के अंत में):
gnome-terminal -x sh -c BASH_POST_RC=\''command1; command2'\''; exec bash'
या (उद्धरण पर कम भारी)
BASH_POST_RC='command1; command2' gnome-terminal
यद्यपि मैं विशेष रूप से इसे इस तरह से करने की सलाह नहीं देता, लेकिन आप कमांड-लाइन पर पहले से ही निश्चित पाठ के साथ एक टर्मिनल कैसे शुरू करें, इसमें वर्णित तकनीकों में रुचि हो सकती है
? ।