Is there a Bash equivalent of Batch's msg *?
No.
bash has not been made with GUI in mind. Different commands may be available on different platforms, for instance:
Cygwin:
msg '*' Hello World
MacOS:
osascript -e 'display dialog "Hello World"'
On Linux, you can use a (widely-available) console tool called dialog
for much more than a simple message box (like menus, lists with checkboxes, radio buttons, multiple choice dialogs, file list/selection, date/time selection, inputbox, text input, etc.). Usually interactive install scripts use it.
For example, this:
dialog --msgbox 'hello world' 10 30
will give you:
For some cool examples, check in your /usr/share/doc/dialog/examples
directory (after installing dialog
via your favourite package manager).
A checklist
, form
, calendar
, gauge
(progress bar) and a fselect
(file picker) follow: