热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

“读取p”在linuxshell脚本中做了什么?

我有一个我复制和编辑过的脚本.如果可能的话,我需要解释几行.这些是:read-ppleaseentertheusernameyouwishtocreate:usernameif

我有一个我复制和编辑过的脚本.如果可能的话,我需要解释几行.

这些是:

read -p "please enter the username you wish to create: " username
if id -u $username >/dev/null 2>&1; then

读取-p有什么作用? id -u做什么?什么> / dev / null 2& 1;做?
然后在脚本中,它有这一行说:

sudo useradd -g $group -s $bash -d $homedir -m $username -p $password

再次,请有人解释这一行中的所有减号吗? (-g,-s,-d,-m,-p)

解决方法:

首先,结构 – <选项>表示您要执行使用与

旁注:对于几个单词而不是单个字母的选项,通常它会使用两个减号 – 而不是一个,表示它是一个“长命名”选项.

因此,使用read -p示例,这意味着您希望使用p选项执行读取,该选项代表提示.

现在,有时一个选项需要一个参数.在您的示例中,useradd的选项具有参数.参数通常定义为 – <选项> [参数].因此,在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来查找linux手册页中的命令.在命令行上.这些手册页告诉您命令的作用,并解释其所有选项.

像read这样的Bash内置函数都在一个单独的手册页上,这不是最容易使用的.对于那些我发现谷歌搜索他们更容易.通常http://ss64.com/将出现在结果中,其中包含来自bash内置手册页面的信息,但是通过命令分成不同的页面.我发现这更容易使用.


推荐阅读
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 在Delphi7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本。定义如下:1234 ... [详细]
  • Ansible:自动化运维工具详解
    Ansible 是一款新兴的自动化运维工具,基于 Python 开发,集成了多种运维工具(如 Puppet、CFEngine、Chef、Func 和 Fabric)的优点,实现了批量系统配置、程序部署和命令执行等功能。本文将详细介绍 Ansible 的架构、特性和优势。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • MATLAB字典学习工具箱SPAMS:稀疏与字典学习的详细介绍、配置及应用实例
    SPAMS(Sparse Modeling Software)是一个强大的开源优化工具箱,专为解决多种稀疏估计问题而设计。该工具箱基于MATLAB,提供了丰富的算法和函数,适用于字典学习、信号处理和机器学习等领域。本文将详细介绍SPAMS的配置方法、核心功能及其在实际应用中的典型案例,帮助用户更好地理解和使用这一工具箱。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本文将详细介绍如何在Mac上安装Jupyter Notebook,并提供一些常见的问题解决方法。通过这些步骤,您将能够顺利地在Mac上运行Jupyter Notebook。 ... [详细]
  • C# 中 SQLite 报错:在 "\\s\\" 附近出现语法错误,如何解决? ... [详细]
  • Python错误重试让多少开发者头疼?高效解决方案出炉
    ### 优化后的摘要在处理 Python 开发中的错误重试问题时,许多开发者常常感到困扰。为了应对这一挑战,`tenacity` 库提供了一种高效的解决方案。首先,通过 `pip install tenacity` 安装该库。使用时,可以通过简单的规则配置重试策略。例如,可以设置多个重试条件,使用 `|`(或)和 `&`(与)操作符组合不同的参数,从而实现灵活的错误重试机制。此外,`tenacity` 还支持自定义等待时间、重试次数和异常处理,为开发者提供了强大的工具来提高代码的健壮性和可靠性。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 在更换电脑后,使用 Git Bash 运行 Python 时可能会遇到找不到 Python 解释器的问题。本文详细介绍了如何在 Windows 环境下通过 Bash Shell 调用不同版本的 Python,并成功运行 SRSPlayer HTTP 服务器。具体步骤包括配置环境变量、验证 Python 版本以及启动服务器的方法。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
author-avatar
手机用户2602939201
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有