একটি টার্মিনালে কমান্ড লিখুন, অন্য একটিতে ফলাফল দেখুন


35

আমি একটি টার্মিনালে একটি কমান্ড foo চালাতে এবং ফলাফলটি অন্য টার্মিনালে পাস করতে চাই। এটা করা কি সম্ভব ?


4
Tmux এবং স্ক্রিনটিও দেখুন যা উভয়ই আপনাকে অন্য সেশনগুলিতে নিয়ন্ত্রণ, আয়না, বা কমান্ড সম্পাদন করতে দেয়।
কেভিন

উত্তর:


46

হ্যাঁ, তাই এক হাজার শব্দের মূল্যবান একটি ছবি:

রাডুর টার্মিনাল

সুতরাং, আপনাকে আপনার কমান্ডের আউটপুটটিকে >অপারেটর ব্যবহার করে পুনর্নির্দেশ করতে হবে /dev/pts/#। আপনি #ব্যবহার whoবা wআদেশ খুঁজে পেতে পারেন । যদি ত্রুটিগুলি পুনর্নির্দেশ করতে চায় এবং ত্রুটিগুলি ব্যবহার করে:

<command> >& /dev/pts/#

ধন্যবাদ। কিন্তু যদি অন্য টার্মিনালটির অস্তিত্ব না থাকে। আমাদের কী করা উচিত? বা আরও ভাল এটি পাসে বলা ভাল?
মোহাম্মদ রেজা রেজওয়ানি

5
এটি করার জন্য আপনার সম্ভবত একটি স্ক্রিপ্টের প্রয়োজন হবে: স্ক্রিপ্টটি আপনার কমান্ডটিকে যুক্তি হিসাবে গ্রহণ করবে তারপরে একটি নতুন খুলতে হবে gnome-terminalএবং ttyনতুন টার্মিনালের tty ( কমান্ড ব্যবহার করে ) সনাক্ত করা উচিত এবং শেষ পর্যন্ত এটিতে আউটপুট প্রেরণ করা উচিত।
রাদু রেডানু

8

আপনার জন্য এরকম কিছু $HOME/.bashrc:

ng() { gnome-terminal -x sh -c "$*; bash"; }

এটি একটি কমান্ড চালাবে এবং ফলাফলটি একটি নতুন টার্মিনাল উইন্ডোতে দেখায়।

উদাহরণ:

ng ls -l
ng echo foo

সম্পাদনা করুন: পরিবর্তে এটির $HOME/.bashrcব্যবহার থেকে উপকরণ বিবেচনা করুন :

ng() { gnome-terminal -x bash -ic "$*; bash"; }

তারপরে আউটপুটটি lsরঙিন হওয়া উচিত (এই ইঙ্গিতটির জন্য রাদু রেডানুকে ধন্যবাদ )।


এটি কমান্ডটি সরাসরি নতুন টার্মিনালে চালাবে।
রাদু রাদিয়ানু

হ্যাঁ তবে পুরানো টার্মিনালে প্রথমে এটি চালানোর সুবিধা কী?
টুকসন

কোনও সুবিধা নেই ... তবে বাস্তবে এই মন্তব্যে এই উত্তর ।
রাদু রাদিয়ানু

4
আপনি বুঝতে পারবেন আপনি চালাবেন type lsএবং তারপরে ng type ls:)
রাদু রাদিয়ানু

1
যদি বাশার্কে একটি লাইনে ফাংশন লিখতে হয় তবে এটি শেষ করার জন্য একটি সেমিকোলন দরকার হতে পারে, বা আপনি একটি "ফাইলের অপ্রত্যাশিত পরিণতি" ত্রুটিটি দেখতে পাবেন। তাই ng() { gnome-terminal -x sh -c "$*; bash" ;}ভাল করা উচিত। এবং যদি আপনি xfce (ডিফল্ট এমুলেটর হিসাবে xfce4- টার্মিনাল) ব্যবহার করছেন: ng() { xfce4-terminal -x sh -c "$*; bash" ;}বা আপনি যে কোনও ডিফল্ট এমুলেটর দ্বারা চালিত করতে পারেনng() { x-terminal-emulator -x sh -c "$*; bash";}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.