শুধু একটি দ্রুত প্রশ্ন। উবুন্টু 16.04 এলটিএসে আউটপুটটি ট্যাব করা কি সম্ভব? আমি এর দ্বারা কী বোঝাতে চাইছি এবং তা বোঝাতে নীচে দুটি চিত্র তৈরি করেছি।
শুধু একটি দ্রুত প্রশ্ন। উবুন্টু 16.04 এলটিএসে আউটপুটটি ট্যাব করা কি সম্ভব? আমি এর দ্বারা কী বোঝাতে চাইছি এবং তা বোঝাতে নীচে দুটি চিত্র তৈরি করেছি।
উত্তর:
ফাইল বর্ণনাকারী সহ আপনি এর মতো কিছু করতে পারেন:
বর্তমান আউটপুট বর্ণনাকারী সংরক্ষণ করুন যাতে আমরা এটি পরে পুনরুদ্ধার করতে পারি
exec 3>&1ট্যাব সন্নিবেশ করে এমন প্রক্রিয়া প্রতিস্থাপনে আউটপুট স্ট্রিমটিকে পুনঃনির্দেশ করুন - উদাহরণস্বরূপ
exec 1> >(paste /dev/null -)এই বিন্দু থেকে, স্ট্যান্ডার্ড আউটপুটে লেখার যে কোনও প্রক্রিয়া pasteশুরুতে ট্যাবগুলি সন্নিবেশ করার জন্য কমান্ডের মাধ্যমে আউটপুট 'ফিল্টার' করে ।
আপনার হয়ে গেলে, আপনি সংরক্ষিত ফাইল বর্ণনাকারী পুনরুদ্ধার করে এবং অস্থায়ী বন্ধ করে সাধারণ আচরণটি আবার শুরু করতে পারেন
exec 1>&3 3>&-lessবা একই ধরণের সরঞ্জামগুলিকে আউটপুট স্ক্রোলিংয়ের অনুমতি দেয় যেমন ভাঙা করে না man।
আমি বুঝতে পারি যে এই উত্তরটি আপনার পক্ষে অনুকূল নয়, তবে আপনি সরল নাম _(বা এখনও ব্যবহৃত হয়নি এমন কিছু) দিয়ে একটি বাশ ফাংশন তৈরি করতে পারেন যা কমান্ডটি চালায় যা এটি আর্গুমেন্ট হিসাবে পায় এবং এটির ট্যাব দিয়ে সমস্ত আউটপুট ইনডেন্ট করে।
একটি উদাহরণ:
$ _ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04 LTS
Release: 16.04
Codename: xenial
এই ফাংশনের কোডটি কেবল এটিই হবে:
_(){ sed "s/^/\t/" <($*); }
আপনি এটিকে আপনার ~/.bashrcফাইলে সংযুক্ত করতে পারেন যাতে এটি চালিয়ে আপনার ব্যবহারকারীর সমস্ত বাশ সেশনে উপলভ্য হবে:
echo '_(){ sed "s/^/\t/" <($*); }' >> ~/.bashrc
আপনি যদি এটি সমস্ত ব্যবহারকারীর কাছে উপলভ্য করতে চান তবে এটির /etc/bash.bashrcপরিবর্তে এটি সংযোজন করুন (প্রশাসকের অধিকার প্রয়োজন):
echo '_(){ sed "s/^/\t/" <($*); }' | sudo tee -a /etc/bash.bashrc
বিকল্পভাবে আপনি /usr/local/bin/_বাশ ফাংশন ছাড়াই এবং সমস্ত ব্যবহারকারীর জন্য একই অর্জন করতে নিম্নলিখিত লিখিত সামগ্রীর মতো স্ক্রিপ্ট ফাইলও তৈরি করতে পারেন :
#!/bin/bash
sed "s/^/\t/" <($*)
ফাইলটি ব্যবহার করে সংরক্ষণের পরে আপনাকে অবশ্যই স্ক্রিপ্টটি কার্যকর করতে হবে
sudo chmod +x /usr/local/bin/_
সঙ্গে echoবিশেষভাবে, তুমি এটা পছন্দ ব্যাকস্ল্যাশ বেরিয়ে ব্যাখ্যা থাকতে পারে \t(ক ট্যাব স্টপ সঙ্গে) -eসুইচ:
echo -e "\tHello World"
তবে প্রতিটি কমান্ডের আউটপুট সেইভাবে পরিবর্তন করা খুব কমই সম্ভব (বা সম্ভবত) সম্ভব হবে। যদি পড়া সহজলভ্যতা আপনার লক্ষ্য হয় তবে আপনি আপনার কমান্ড প্রম্পটের চেহারাটি (যেমন রঙ করা) কাস্টমাইজ করতে চান, যেমন এখানে দেখানো হয়েছে:

আপনি পরিবেশের ভেরিয়েবলের সামগ্রী পরিবর্তন করে আপনার প্রম্পটটি কাস্টমাইজ করতে পারেন PS1। উপরের স্ক্রিনশটটি ব্লগ পোস্টে এটি কীভাবে করা যায় তার একটি সামান্য উদাহরণ দেখতে পাবেন । কীভাবে তথাকথিত এএনএসআই এস্কেপ সিকোয়েন্সগুলি বিশদভাবে ব্যবহার করতে হবে, কীভাবে আরও আরামদায়ক সরঞ্জামগুলি ব্যবহার করতে হবে, কীভাবে নতুন টার্মিনালগুলিতে ডিফল্টরূপে পরিবর্তনগুলি প্রয়োগ করা যায় ইত্যাদি এই উত্তরটির পরিধি ছাড়াই। তবে আপনি যদি সেই কৌশলটি ব্যবহার করার সিদ্ধান্ত নেন তবে ওয়েবের চারপাশে প্রচুর টিউটোরিয়াল এবং আরও তথ্য রয়েছে।
YOUR COMMAND | indentতবে আপনি যদি তার সামনে অন্য একটি কমান্ড টাইপ করতে চান (এমনকি কেবল একটি আন্ডারস্কোরও হতে পারে)_ YOUR COMMAND?