कमांड लाइन से मैसेज बॉक्स कैसे बनाएं?


65

या तो GUI संदेश बॉक्स, या संदेश बॉक्स जो टर्मिनल के अंदर दिखाते हैं।

यह भी दिलचस्प होगा कि उपयोगकर्ता से सरल इनपुट प्राप्त करने में सक्षम होने के लिए, जैसे हाँ / नहीं या रेडियो बटन।


8
"संदेश बॉक्स" से आपका क्या अभिप्राय है? एक ग्राफिक अलर्ट बॉक्स, एक पॉपअप संदेश बॉक्स? कुछ और?
पॉलीम

जवाबों:


110

एक मानक "संदेश के चारों ओर बॉक्स" के लिए, उपयोग करें boxes:

echo 'This is a test' | boxes

boxesइस तरह दिखेगा (पहला एक। दूसरा एक रिवाज जैसा है cowsay):

एक तारांकित बॉक्स का स्क्रीनशॉट और एक ASCII- कला कुत्ता जो पाठ का चिह्न रखता है


यदि आप एक चेतावनी बॉक्स का उपयोग करते हैं, तो उपयोग करें notify-send:

notify-send 'title' 'message'

notify-send इस तरह दिखता है:

पॉप-अप संदेश "हेलो एशफ्रेम ..."


आप zenityपॉपअप विंडो के लिए भी उपयोग कर सकते हैं:

zenity --error --text="An error occurred\!" --title="Warning\!"

Zenity अधिक चित्रमय है और इसमें और भी विकल्प हैं, जैसे कि विंडो का उपयोग करते हुए प्रश्न के रूप में प्रकट होना:

zenity --question --text="Do you wish to continue/?"

या यहां तक ​​कि प्रगति सलाखों का उपयोग करते हुए:

find /usr | zenity --progress --pulsate --auto-close --auto-kill --text="Working..."

zenity इस तरह दिखता है:

बटन के साथ त्रुटि, प्रश्न, सूचना और चेतावनी बॉक्स


या dialogकमांड-लाइन के लिए केवल संदेश बॉक्स का उपयोग करें:

dialog --checklist "Choose OS:" 15 40 5 \
1 Linux off \
2 Solaris on \
3 'HP UX' off \
4 AIX off

dialog इस तरह दिखता है:

4 विकल्पों के साथ डायल TUI


एक अन्य विकल्प है whiptail:

whiptail --title "Example Dialog" --msgbox "This is an example of a message box. You must hit OK to continue." 8 78

whiptail इस तरह दिखता है:

दो टेक्स्ट बटन के साथ व्हिप्टेल पॉप-अप बॉक्स


और अगर तुम सच में पागल हो, उपयोग करो toilet:

toilet -F border -F gay "CRAZY"

toilet इस तरह दिखता है:

रंगीन पाठ बॉक्स "CRAZY" पढ़ना


3
वास्तव में पूरा जवाब, यह उपयोगी है! धन्यवाद!

उत्कृष्ट लेखन-अप, @polym - मैं zenityअपडेट और अपग्रेड विभाग में महीने में एक बार अपनी खुद की नसों को प्राप्त करने के लिए उपयोग करने वाला हूं ...
फ्रैंक नॉक

27

xmessage

यह जीयूआई अलर्ट की पोती है:

xmessage -center "Hello, World!"

शुद्ध रेट्रो अच्छाई।

मैं यह भी शर्त लगाता हूं कि यह एक्स 11 सिस्टम पर व्यापक रूप से उपलब्ध होना चाहिए।

SO थ्रेड: linux में bash script से GUI मैसेज बॉक्स को कैसे दिखाना है? | स्टैक ओवरफ़्लो

उबुन्टु 18.04 में परीक्षण किया गया।


मेरे ओपनबॉक्स इंस्टॉल पर बॉक्स से बाहर काम किया। धन्यवाद!
एसेक्स

xmessageडिफ़ॉल्ट रूप से भी Ubuntu सर्वर पर स्थापित किया गया है। इसलिए मैं ssh -Y <host> एक्स कनेक्शन को अग्रेषित करते समय मशीन में लॉग इन कर सकता हूं और फिर some-command; xmessage "some-command is done"लंबे समय तक चलने वाला कमांड पूरा होने पर अपने डेस्कटॉप पर एक अधिसूचना पॉप अप करने के लिए चला सकता हूं।
स्टीफन ओस्टरमिलर

@StephenOstermiller हाँ, यह एक अच्छी टिप है!
सिरो सेंटिल्ली 新疆 改造 iro i 21 21

1
कूल कमांड। कुछ सेकंड के बाद संदेश को ऑटो-क्लियर करने के लिए xmessage -timeout 10 "Goodbye in 10s!":।
AlainD

8

और फिर सिर्फ इसलिए कि @ पॉलिम पूरी तरह से शीर्ष उत्तर पर क्लासिक संदेश भेजने से चूक गया:

write <username> [<terminal>]- किसी अन्य उपयोगकर्ता को एक संदेश भेजें। या तो अंतःक्रियात्मक रूप से या पाइप के भाग के रूप मेंecho "message" | write username

लिखना


और लिखने के पूरक, wallसभी उपयोगकर्ताओं को एक संदेश भेजने के लिए

दीवार


1

यदि आप पाठ को पायथन रैपर पर पाइप करने के लिए तैयार हैं, तो आप इसका उपयोग कर सकते हैं terminaltables:

pip3 install colorclass
pip3 install terminaltables

फिर GitHub Repo में , आप एक उदाहरण को एक अजगर आवरण लिखने के लिए उपयोग कर सकते हैं।

यहाँ छवि विवरण दर्ज करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.