Ringing the terminal ๐
The terminal bell comes in handy to have a visual or audible notifier while waiting on some jobs/processes to finish. Some ways to trigger the terminal bell. This also works well when working on remote shell in terminals.
- Send the escape character 
\aor the equivalent ascii code(007) for terminal bell to stdout - Query the 
belcapability of the terminal using tput 
Using echo
# -n to avoid new line
# -e to interpret the string with backlash-escaped characters
# The behavior of -e is shell specific. 
# For e.g. this was required in bash, but not in zsh
$ echo -ne '\a'
# Running in zsh
% echo -n '\007'
Using printf
This provides the same behavior as echo, but takes out the dependency on shell.
% printf '\a'
% printf '\007'
Using tput
tput uses the terminfo database to make the terminal capabilities available to the shell.
bell is defined as one of the terminal capabilities.
% tput bel
A snippet from terminfo man page.
       These are the string capabilities:
               Variable                              Cap-                       TCap                          Description
                String                               name                       Code
       acs_chars                                     acsc                       ac                        graphics charset
                                                                                                          pairs, based on
                                                                                                          vt100
       back_tab                                      cbt                        bt                        back tab (P)
       bell                                          bel                        bl                        audible signal
                                                                                                          (bell) (P)
PS: I often use the integrated terminal in Visual Studio code. While it works great for most use cases, terminal bell didnโt work as expected due to this issue#47711. Neither visual nor audio bell worked with the local terminal or when running a remote shell. When working with remote ssh with tmux or screen, sending a bell in the remote server would highlight the tab that triggered the bell. Thatโs the workaround I currently use until issue#47711 is fixed.
For macOS, there is another way to trigger the bell through OSA scripts. I donโt know much about OSA scripts though.
% osascript -e 'beep'
      
      
      
      
      
Comments