Bash User Input
With the previous script, we defined a variable and we output the value of the variable on the screen with the echo $name
.
Now let's go ahead and ask the user for input instead. To do that again open the file with your favorite text editor and update the script as follows:
#!/bin/bash
echo "What is your name?"
read name
echo "Hi there $name"
echo "Welcome to DevDojo!"
The above will prompt the user for input, and then store that input as a string/text in a variable.
We can then use the variable and print a message back to them.
The output of the above script would be:
- First run the script:
./devdojo.sh
- Then you would be prompted to enter your name:
What is your name?
Bobby
- Once you've typed your name just hit enter:
Hi there Bobby
Welcome to DevDojo!
To reduce the code, we could change the first echo
statement with the read -p
, the read
command used with -p
flag will print a message before prompting the user for their input:
#!/bin/bash
read -p "What is your name? " name
echo "Hi there $name"
echo "Welcome to DevDojo!"