How does the sudo key symbol work?

I'm trying to write a script that requests the user password for some sudo-related commands. My goal is to emulate the default method that OS X uses to obtain the user's password, Password: followed by a key-like symbol, as seen in the screenshot attached below:

key symbol

I tried the answer from How to get a password from a shell script without echoing over on Stack Overflow that uses read -s, but that results in Password: without the key symbol when run from a script, but displays the symbol when run from the Terminal itself . What is this key symbol, and can I find it under the Characters menu?


I get the key symbol when running read -s in Terminal.

As this seems to work the same for read -s as for sudo, I assume this is a feature of Terminal (to display a key symbol whenever input is requested in silent/hidden mode).


The simplest answer is just write the script without sudo

then tell the user to run it with sudo e.g. sudo script

the script will run with root privileges

`this has the advantage that the user knows what asks for and where the password is used, if in your script you could be taking a copy or leaving it in memory


I think it has something to do with whether the terminal echo option is disabled. I tried running stty -echo; cat; stty echo in my terminal and then typing something, and the key symbol showed. I then pressed Ctrl+D and it went away.