बस एक त्वरित प्रश्न। क्या उबंटू 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
?