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


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.