[unix] 명령 행에서 메시지 상자를 작성하는 방법은 무엇입니까?

GUI 메시지 상자 또는 터미널 내부에 표시되는 메시지 상자

예 / 아니오 또는 라디오 버튼과 같이 사용자로부터 간단한 입력을 다시받을 수 있다는 것도 흥미로울 것입니다.



답변

표준 “메시지 주위의 상자”의 경우 다음을 사용하십시오 boxes.

echo 'This is a test' | boxes

boxes다음과 같이 보일 것입니다 (첫 번째 것, 두 번째 것 같은 것입니다 cowsay) :

별표 상자와 텍스트 기호를 들고있는 ASCII 예술 개 스크린 샷


경고 상자를 의미하는 경우 다음을 사용하십시오 notify-send.

notify-send 'title' 'message'

notify-send 다음과 같이 보입니다 :

"Hello Ashframe ..."이라는 팝업 메시지


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"를 읽는 화려한 텍스트 상자


답변

xmessage

이것은 GUI 알림의 할아버지입니다.

xmessage -center "Hello, World!"

순수한 복고풍의 선함.

또한 X11 시스템에서 광범위하게 사용할 수 있어야합니다.

SO 스레드 : 리눅스의 bash 스크립트에서 GUI 메시지 상자를 표시하는 방법은 무엇입니까? | 스택 오버플로

우분투에서 테스트 18.04.


답변

그리고 @polym이 최고의 답변을 완전히 얻었 기 때문에 고전적인 메시지를 놓쳤습니다.

write <username> [<terminal>]-다른 사용자에게 메시지를 보냅니다. 대화식으로 또는 파이프의 일부로echo "message" | write username

쓰다


wall모든 사용자에게 메시지를 보내기 위해 쓰고 보완

벽


답변

텍스트를 Python 래퍼로 파이프하려는 경우 다음을 사용할 수 있습니다 terminaltables.

pip3 install colorclass
pip3 install terminaltables

그런 다음 GitHub Repo 에서 예제 중 하나를 사용하여 Python 래퍼를 작성할 수 있습니다.

여기에 이미지 설명을 입력하십시오


답변