Controlling the visibility of entered text
Even though we have limited the input to a single character, we do get to see the text on the screen. In the same way, if we type the name we get to see the entered text before we hit Enter. In this case, it is just untidy but if we were entering sensitive data, such as a pin or a password, we should hide the text. We can use the silent option or -s
to achieve this. A simple edit in the script will set this in place:
#!/bin/bash read -p "May I ask your name: " name echo "Hello $name" read -sn1 -p "Press any key to exit" echo exit 0
Now, when we use a key to continue, it will not be displayed on the screen. We can see the behavior of the script in the following screenshot: