Basic script using read
When used as a part of a script that prompts for user input, the suppression of the line feed is exactly what we want. We will begin by copying the existing hello2.sh
script to hello3.sh
and build an interactive script. Initially, we will use echo
as the prompt mechanism but as we gradually enhance the script, we will generate the prompt directly from the shell built-in read
command:
$ cp $HOME/bin/hello2.sh $HOME/bin/hello3.sh $ chmod +x $HOME/bin/hello3.sh
Edit the $HOME/bin/hello3.sh
script so that it reads as the following:
#!/bin/bash echo -n "Hello I $(basename $0) may I ask your name: " read echo "Hello $REPLY" exit 0
As we execute the script, we will be greeted and prompted with our own name. This is echoed out using the $REPLY
variable in the echo
statement. As we have not yet supplied a variable name to the read
built-in command the default $REPLY
variable is used. The script execution and output is shown in the following screenshot. Take some time to practice...