我有一个我复制和编辑过的脚本.如果可能的话,我需要解释几行.
这些是:
read -p "please enter the username you wish to create: " username
if id -u $username >/dev/null 2>&1; then
Run Code Online (Sandbox Code Playgroud)
怎么read -p办?怎么id -u办?怎么>/dev/null 2&1;办?然后在脚本中进一步说明这条线:
sudo useradd -g $group -s $bash -d $homedir -m $username -p $password
Run Code Online (Sandbox Code Playgroud)
再次,请有人解释这一行中的所有减号吗?(-g,-s,-d,-m,-p)
首先,结构<command> -<option>意味着您要<command>使用对应的选项执行<option>.-命令后面的A 表示以下字母是一个选项.大多数命令都有几个可以使用的选项.选项通常使用单个字母或几个单词来定义-.
旁注:对于两个单词而不是单个字母的选项,通常它会使用两个减号--而不是一个,表示它是一个"长命名"选项.
因此,使用该read -p示例,这意味着您要read使用p选项执行,该选项代表提示.
现在,有时一个选项需要一个参数.在您的示例中,useradd有参数的选项.参数通常定义为<command> -<option> [argument].因此,在useradd示例中,$group是该选项的参数g.
现在为命令本身:
read 是一个从标准输入读取的内置bash(不是POSIX shell命令).
-p选项使其作为提示读取,这意味着它在尝试读取输入之前不会添加尾随换行符.if检查测试命令的返回状态(在这种情况下id -u $username >/dev/null 2>&1)
then则执行该部件id 打印用户组和ID
-u选项"只打印有效用户ID".>/dev/null 2>&1将标准输入和标准错误重定向到/dev/null,意味着它们不会打印到终端.useradd 创建一个新用户
-g 为用户设置初始组-s 设置用户登录shell的名称-d 设置用户登录目录的名称-m 如果不存在,则表示创建用户的主目录.-p 定义用户的加密密码.为了将来参考,您可以通过man <command>命令行在linux手册页中查找命令.这些手册页告诉您命令的作用,并解释其所有选项.
Bash内置read函数都在单个手册页上,这不是最容易使用的.对于那些我发现谷歌搜索他们更容易.通常http://ss64.com/会出现在结果中,其中包含来自bash内置手册页面的信息,但是通过命令分成不同的页面.我发现这更容易使用.
| 归档时间: |
|
| 查看次数: |
17385 次 |
| 最近记录: |