টার্মিনাল অ্যাপ্লিকেশনটির জন্য একটি লঞ্চার সহ, প্রোগ্রামটি শেষ হওয়ার পরে আমি কীভাবে টার্মিনালটি খোলা রাখতে পারি?


24

আমার একটি টার্মিনাল কমান্ড রয়েছে যা আমি একটি অ্যাপ্লিকেশন লঞ্চার থেকে চালাচ্ছি। এটি দুর্দান্ত কাজ করে, তবে কখনও কখনও কমান্ড ব্যর্থ হয়, তাই আমি টার্মিনালটি খোলা থাকার জন্য চাই যাতে আমি ফলাফলগুলি দেখতে পারি। কিভাবে আমি এটি করতে পারব?

উত্তর:


23

আপনার কমান্ড কল করা হয়েছে বলে ধরে নেওয়া mycommand, আমি এটি চালাতে আমার লঞ্চারটি পরিবর্তন করব:

gnome-terminal -e "mycommand|less"

আপনি যদি আরও স্থায়ী, সম্ভবত ক্লিনার সমাধান চান, জিনোম-টার্মিনাল খুলুন, সম্পাদনা, প্রোফাইল পছন্দগুলিতে যান এবং শিরোনাম এবং কমান্ড ট্যাবে ক্লিক করুন। "যখন কমান্ডটি প্রস্থান হয়" বিকল্পটি "টার্মিনালটি ওপেন রাখুন" পরিবর্তন করুন।

আপনি যখন আদেশগুলি কার্যকর করেন, কিছু চালানো হলে এটি এখন টার্মিনালটি খোলা ছেড়ে দেওয়া উচিত।

সম্পাদনা: আপনি যদি সত্যিই টার্মিনালটির বিষয়ে চিন্তা না করেন তবে আপনি কেবল এক্সটারের হোল্ড ফ্ল্যাগ ব্যবহার করতে পারেন:

xterm -e "mycommand" hold

7
ডিফল্ট টার্মিনালটি 'কমান্ডটি প্রস্থান করার সময়' অ্যাকশন রাখতে, আমি একটি নতুন টার্মিনাল প্রোফাইল তৈরি করার পরামর্শ দিই, কমান্ডটি প্রস্থান করার পরে এটি উন্মুক্ত রাখতে সেট করুন এবং জিনোম-টার্মিনালটি --tab-with-profile=PROFILENAMEবিকল্পটি পাস করুন । আপনি বিভিন্ন bahaviours এই ভাবে :-) জন্য অনেক প্রোফাইলের থাকতে পারে
বিপরীতমুখী

1
xterm -hold -e mycommand

8

আপনার প্রবর্তক ঠিক একটি স্ক্রিপ্ট চলছে?

আপনার স্ক্রিপ্টের শেষে অ্যাড করুন

read -p "Press any key to exit > " -n1 junk
echo 

তারপরে আপনার স্ক্রিপ্টটি অপেক্ষা না করা অবধি আপনি এটি শেষ না করা পর্যন্ত।


1
+1, এবং প্রম্পটটি কেবল তখনই দেখাতে যদি কমান্ডটি ব্যর্থ হয় (কোনও শূন্যের বহির্গমন কোড ফেরত দেয়) কেউ করতে পারেcommand || read -n1 -p "Command failed. Press any key to exit..."
Jukka Matilainen

8

আপনার .ডেস্কটপ শর্টকাটে, এটি ব্যবহার করুন

Exec=gnome-terminal -x bash -c "YOUR_SCRIPT; exec $SHELL"

আপনার স্ক্রিপ্টটি শেষ হওয়ার পরে, বাশ প্রক্রিয়া নিজেকে নতুন একটি অনুরোধের সাথে প্রতিস্থাপন করবে।

আপনার স্ক্রিপ্টে যদি উদ্ধৃত যুক্তিগুলি সরবরাহ করতে হয়, আপনাকে উদ্ধৃতিগুলি এড়িয়ে যেতে হবে:

Exec=gnome-terminal -x bash -c "YOUR_SCRIPT \"arg with spaces\"; exec $SHELL"

3

অন্যান্য উত্তরগুলির থেকে কিছুটা আলাদা দৃষ্টিভঙ্গি: আপনার কমান্ডটি চালান এবং যদি এটি ব্যর্থ হয় তবে একটি শেল স্প্যান করুন। এইভাবে আপনাকে টার্মিনালটি উন্মুক্ত রাখতে হবে না (যা কমান্ড সাফল্য বা ব্যর্থতার মধ্যে পার্থক্য করে না), এবং আপনি সম্ভবত শেলটি ব্যর্থতায় বিশেষভাবে দরকারী বলে মনে করতে পারেন। এটি বন্ধ করার জন্য, কেবলমাত্র Ctrl-D (EOF), "প্রস্থান", আল্ট-এফ 4 (বা আপনার উইন্ডো ম্যানেজার উইন্ডোজ বন্ধ করতে যা ব্যবহার করে) ইত্যাদি ব্যবহার করুন etc.

সাফল্য-অর-শেল

#!/bin/sh
[ $# -eq 0 ] && {
  echo "$(basename $0): no command" >&2
  exit 1
}
"$@" || {
  echo "failed: $?"
  exec $SHELL
}

এই ফাইলটি কোথাও Place / বিন হিসাবে রাখুন , তারপরে আপনার লঞ্চারে "সাফল্য-বা-শেল আপনার মূল কমান্ড" ব্যবহার করুন।


0

এই উত্তরটি সবচেয়ে ভালো উত্তর আমি আপনি যা চান তা করছেন এতদূর দেখা করেছি দেয়। তারা --init-file প্যারামিটার (বাশ নির্দিষ্ট, তবে আপনি সম্ভবত 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

0

watchকমান্ডটি ব্যবহার করুন ।

ফর্ম্যাট: watch -n60 myCommandবাwatch -n60 "my command string"

  • -nকল মধ্যে অপেক্ষা করতে সেকেন্ডের সংখ্যা উল্লেখ myCommand ; উদাহরণস্বরূপ : উপরের কমান্ডটি প্রতি 60 সেকেন্ডে চিরতরে আমার কম্যান্ডে কল করবে।
  • কমান্ড একাধিক শব্দ হয়, তাহলে এটি ভিতরে উদ্ধৃতি চিহ্ন করা: "my command string"

ধরা যাক আপনি এমন একটি লঞ্চার চান যা ডিস্কের ব্যবহার প্রদর্শন করে এবং পাঠকের জন্য উন্মুক্ত থাকে। আমি কেবল এই আদেশটি লঞ্চের অভ্যন্তরে ব্যবহার করব:
watch -n60 "df -h"যা df -hপ্রতি 60 সেকেন্ডে এখন কল করে calls

আমি gnome-terminal -e "mycommand|less"এটির গৃহীত উত্তরের চেয়ে পছন্দ করি কারণ আমি জুবুন্টু চালাচ্ছি যা ডিফল্টরূপে একটি ভিন্ন টার্মিনাল ব্যবহার করে।


0

লঞ্চারটিতে ডান-ক্লিক করে এবং বৈশিষ্ট্যগুলিতে প্রবেশ করার চেষ্টা করুন।

টার্মিনাল উইন্ডোটি খোলা রাখার জন্য একটি বিকল্প থাকা উচিত এখানে চিত্র বর্ণনা লিখুন

.ডেস্কটপ ফাইলটিতে এন্ট্রি থাকা উচিত X-KeepTerminal=true

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.