热门标签 | 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内置手册页面的信息,但是通过命令分成不同的页面.我发现这更容易使用.


推荐阅读
  • 在Ubuntu系统中配置Python环境变量是确保项目顺利运行的关键步骤。本文介绍了如何将Windows上的Django项目迁移到Ubuntu,并解决因虚拟环境导致的模块缺失问题。通过详细的操作指南,帮助读者正确配置虚拟环境,确保所有第三方库都能被正确识别和使用。此外,还提供了一些实用的技巧,如如何检查环境变量配置是否正确,以及如何在多个虚拟环境之间切换。 ... [详细]
  • 本文将详细介绍如何在Mac上安装Jupyter Notebook,并提供一些常见的问题解决方法。通过这些步骤,您将能够顺利地在Mac上运行Jupyter Notebook。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 在 CentOS 7 中,为了扩展可用软件包的数量,通常需要配置多个第三方软件源。这些第三方源包括 EPEL、Nux Dextop 和 ELRepo 等,它们提供了大量官方源中未包含的软件包,从而增强了系统的功能性和灵活性。通过正确配置这些源,用户可以轻松安装和管理更多种类的软件,满足不同的需求。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 深入探索HTTP协议的学习与实践
    在初次访问某个网站时,由于本地没有缓存,服务器会返回一个200状态码的响应,并在响应头中设置Etag和Last-Modified等缓存控制字段。这些字段用于后续请求时验证资源是否已更新,从而提高页面加载速度和减少带宽消耗。本文将深入探讨HTTP缓存机制及其在实际应用中的优化策略,帮助读者更好地理解和运用HTTP协议。 ... [详细]
  • 本文详细探讨了MySQL数据库实例化参数的优化方法及其在实例查询中的应用。通过具体的源代码示例,介绍了如何高效地配置和查询MySQL实例,为开发者提供了有价值的参考和实践指导。 ... [详细]
  • Docker镜像加载优化:开发者的高效实践指南
    Docker镜像加载优化:开发者的高效实践指南 ... [详细]
  • 如何在PHP中正确配置错误显示功能
    在PHP中正确配置错误显示功能的方法如下:首先,定位并打开“php.ini”配置文件;接着,将“display_errors”参数设置为“On”;最后,在PHP代码文件的顶部添加 `ini_set('display_errors', '1');` 以确保错误信息能够被正确显示。此外,建议在开发环境中启用此功能,而在生产环境中禁用,以避免敏感信息泄露。 ... [详细]
  • 在 Kubernetes 中,Pod 的调度通常由集群的自动调度策略决定,这些策略主要关注资源充足性和负载均衡。然而,在某些场景下,用户可能需要更精细地控制 Pod 的调度行为,例如将特定的服务(如 GitLab)部署到特定节点上,以提高性能或满足特定需求。本文深入解析了 Kubernetes 的亲和性调度机制,并探讨了多种优化策略,帮助用户实现更高效、更灵活的资源管理。 ... [详细]
  • 本文深入解析了 FCEUX 源码,并详细介绍了两种制作 DEB 包的方法及其技术细节。首先,DEB 包通常由两部分组成:控制信息(位于 DEBIAN 目录)和安装内容(模拟目录)。通过解压现有的 DEB 包,可以查看其内部结构,进而理解其工作原理。具体操作包括将安装内容释放到指定目录中,以便进行进一步的修改和定制。此外,文章还探讨了如何修改现有的 DEB 包,以满足特定需求,提供了实用的步骤和技巧。 ... [详细]
  • 如何使用FindWindow360问答功能?探索其专业应用与技巧 ... [详细]
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社区 版权所有