[bash] How to read user input into a variable in Bash?

I'm trying to create a script that simplifies the process of creating a new user on an iOS device. Here are the steps broken down.

fullname="USER INPUT"
user="USER INPUT"
group=$user
uid=1000
gid=1000
home=/var/$user
echo "$group:*:$gid:$user" >> /private/etc/group
echo "$user::$uid:$gid::0:0:$fullname:$home:/bin/sh" >> /private/etc/master.passwd
passwd $user
mkdir $home
chown $user:$group $home

As you can see some fields require input. How can I request input for a variable in script?

This question is related to bash shell

The answer is


Try this

#/bin/bash

read -p "Enter a word: " word
echo "You entered $word"

Yep, you'll want to do something like this:

echo -n "Enter Fullname: " 
read fullname

Another option would be to have them supply this information on the command line. Getopts is your best bet there.

Using getopts in bash shell script to get long and short command line options


Also you can try zenity !

user=$(zenity --entry --text 'Please enter the username:') || exit 1