जवाबों:
आपके आदेश को कहते हैं mycommand
, मैं इसे चलाने के लिए अपना लांचर बदलूंगा:
gnome-terminal -e "mycommand|less"
यदि आप अधिक स्थायी, शायद क्लीनर समाधान चाहते हैं, तो गनोम-टर्मिनल खोलें, एडिट, प्रोफाइल वरीयताओं पर जाएं और शीर्षक और कमांड टैब पर क्लिक करें। "जब टर्मिनल से बाहर निकलें" विकल्प "टर्मिनल खुला रखें" को बदलें।
जब आप कमांड निष्पादित करते हैं, तो अब टर्मिनल को खुला छोड़ देना चाहिए जब कुछ चलता है।
संपादित करें: यदि आप वास्तव में टर्मिनल के बारे में परवाह नहीं करते हैं, तो आप सिर्फ xterm के होल्ड फ्लैग का उपयोग कर सकते हैं:
xterm -e "mycommand" hold
आपका लॉन्चर सही स्क्रिप्ट चला रहा है?
अपनी स्क्रिप्ट के अंत में जोड़ें
read -p "Press any key to exit > " -n1 junk
echo
तब आपकी स्क्रिप्ट तब तक प्रतीक्षा करेगी जब तक आप इसे समाप्त करने का विकल्प नहीं चुनते।
command || read -n1 -p "Command failed. Press any key to exit..."
अपने .desktop शॉर्टकट में, इसका उपयोग करें
Exec=gnome-terminal -x bash -c "YOUR_SCRIPT; exec $SHELL"
आपकी स्क्रिप्ट समाप्त होने के बाद, बैश प्रक्रिया अपने आप में एक नया आह्वान करेगी।
यदि आपको अपनी स्क्रिप्ट में उद्धृत तर्क पारित करने की आवश्यकता है, तो आपको उद्धरणों से बचना होगा:
Exec=gnome-terminal -x bash -c "YOUR_SCRIPT \"arg with spaces\"; exec $SHELL"
अन्य उत्तरों से थोड़ा अलग दृष्टिकोण: अपनी कमांड चलाएं और यदि वह विफल हो जाता है, तो एक शेल स्पॉन करें। इस तरह आपको टर्मिनल ओपन (जो कि कमांड की सफलता या विफलता के बीच अंतर नहीं करता है) को धारण करने की आवश्यकता नहीं है, और आप उस शेल को विशेष रूप से विफलता में उपयोगी पा सकते हैं। इसे बंद करने के लिए, बस Ctrl-D (EOF), "बाहर निकलें", Alt-F4 (या जो भी आपका विंडो मैनेजर विंडोज़ बंद करने के लिए उपयोग करता है), आदि का उपयोग करें।
#!/bin/sh
[ $# -eq 0 ] && {
echo "$(basename $0): no command" >&2
exit 1
}
"$@" || {
echo "failed: $?"
exec $SHELL
}
इस फ़ाइल को कहीं पर रखें , जैसे ~ / बिन, फिर अपने लांचर में "सफलता-या-खोल अपनी मूल कमांड" का उपयोग करें।
यह उत्तर मुझे अब तक का सबसे अच्छा उत्तर देता है जिसे आप करना चाहते हैं। वे कमांड को निष्पादित करने के लिए एक स्क्रिप्ट बनाने की सलाह देते हैं - इसका उपयोग --इनिट-फाइल पैरामीटर (बैश स्पेसिफिक के साथ, लेकिन आप शायद csh / tcsh / zsh, आदि के लिए भी कर सकते हैं):
#!/bin/bash --init-file
commands to run
... और इसे निष्पादित करें:
xterm -e /path/to/script
# or
gnome-terminal -e /path/to/script
# or
the-terminal -e bash --init-file /path/to/script/with/no/shebang
watch
कमांड का उपयोग करें ।
प्रारूप: watch -n60 myCommand
याwatch -n60 "my command string"
-n
करने के लिए कॉल के बीच प्रतीक्षा करने के लिए सेकंड की संख्या निर्दिष्ट myCommand ; ex: उपरोक्त कमांड हर 60 सेकंड में myCommand को हमेशा के लिए कॉल करेगा।"my command string"
:।मान लें कि आप एक लॉन्चर चाहते हैं जो डिस्क उपयोग को प्रदर्शित करता है, और पाठक को देखने के लिए खुला रहता है। मैं लांचर के अंदर बस इस कमांड का उपयोग करूँगा:
watch -n60 "df -h"
जो df -h
अब हर 60 सेकंड में कॉल करता है ।
मुझे यह स्वीकार किए गए उत्तर पर पसंद है gnome-terminal -e "mycommand|less"
क्योंकि मैं जुबांटु चल रहा हूं, जो डिफ़ॉल्ट रूप से एक अलग टर्मिनल का उपयोग करता है।
--tab-with-profile=PROFILENAME
विकल्प पास करें। आप अलग अलग bahaviours इस तरह :-) के लिए कई प्रोफ़ाइल हो सकती हैं