首先,结构< command> – <选项>表示您要执行< command>使用与< option>对应的选项. A – 在命令之后意味着以下字母是一个选项.大多数命令都有几个可以使用的选项.选项通常使用单个字母或由 – 分隔的单词来定义.
旁注:对于几个单词而不是单个字母的选项,通常它会使用两个减号 – 而不是一个,表示它是一个“长命名”选项.
因此,使用read -p示例,这意味着您希望使用p选项执行读取,该选项代表提示.
现在,有时一个选项需要一个参数.在您的示例中,useradd的选项具有参数.参数通常定义为< command> – <选项> [参数].因此,在useradd示例中,$group是选项g的参数.
现在为命令本身:
read是一个内置的bash(不是POSIX shell命令),它从标准输入读取.
> -p选项使其作为提示读取,这意味着它在尝试读取输入之前不会添加尾随换行符.
if检查测试命令的返回状态(在这种情况下为id -u $username> / dev / null 2>& 1)
>如果返回状态为0,则执行then部分
id打印用户组和ID
> -u选项“仅打印有效用户ID”.
> >/dev/null 2>&1将标准输入和标准错误重定向到/ dev / null,这意味着它们不会打印到终端.
useradd创建一个新用户
> -g设置用户的初始组
> -s设置用户登录shell的名称
> -d设置用户登录目录的名称
> -m表示创建用户的主目录(如果它不存在).
> -p定义用户的加密密码.
为了将来参考,你可以通过做man< command>来查找linux手册页中的命令.在命令行上.这些手册页告诉您命令的作用,并解释其所有选项.
像read这样的Bash内置函数都在一个单独的手册页上,这不是最容易使用的.对于那些我发现谷歌搜索他们更容易.通常http://ss64.com/将出现在结果中,其中包含来自bash内置手册页面的信息,但是通过命令分成不同的页面.我发现这更容易使用.