如何在Bash中将用户输入读入变量? [英] How to read user input into a variable in Bash?

查看:168
本文介绍了如何在Bash中将用户输入读入变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建一个脚本,以简化在iOS设备上创建新用户的过程.以下是分解步骤.

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?

推荐答案

使用read -p:

# fullname="USER INPUT"
read -p "Enter fullname: " fullname
# user="USER INPUT"
read -p "Enter user: " user

如果您想确认:

read -p "Continue? (Y/N): " confirm && [[ $confirm == [yY] || $confirm == [yY][eE][sS] ]] || exit 1

您还应该引用变量,以防止路径名扩展和用空格分割单词:

You should also quote your variables to prevent pathname expansion and word splitting with spaces:

# passwd "$user"
# mkdir "$home"
# chown "$user:$group" "$home"

这篇关于如何在Bash中将用户输入读入变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆