bash预定义变量+read(获取键盘输入)

2023-11-02

程序执行的返回值:

$? :最后一次执行命令的返回状态,如果正确执行,则返回0;
    如果返回为非零(具体数值由命令决定),则上一条命令执行不正确

执行完一条命令之后,立马敲入echo $?,可得到返回值。
例如:ls   执行之后,再敲入echo $?,可以得到0

前面说到的逻辑或:|| -->ls  ||  echo yes ;前面一条语句正确执行,才执行后一条语句。这里就是通过执行命令的返回值来判断的
逻辑与:&& -->  ls qwe  && echo no  也是同样的道理

$$:返回当前进程的PID号;
$!:返回后台的进程PID号;

可以通过一个简单的shell来展示一下:
sl.sh
#!/bin/bash
ehco "dang qian de PID: $$"

find / hello.sh &
echo "hou tai de PID: $!"

chmod 755 sl.sh,然后再执行:./sl.sh;可以得到当前的测试的结果

read

read -n
read -p “please input name ” name #-p表示输出提示信息 read [选项] 变量名
read -t 30 #-t 表示等待时间单位为秒 -t 30 表示30秒,若30秒后没有输入数据终止执行脚本
read -s #隐藏信息
echo -e “\n” 换行符

read.sh:

#!/bin/bash
read -p "please input your name:" -t 30 name
#等下输入,如果超过30秒不输入,就终止当前命令
echo $name

read -p "please input your password:" -s  pwd
#输入的值是隐藏的,看不见的,但是在sh里面还是可以获取到的,并且输出的
echo -e "/n"
echo $pwd

read -p "please input your sex [M/F]:" -n 1 sex
#意思就是只能输入一个字符,且输入之后立马执行
echo -e "/n"
echo  $sex

执行

chmod 755 read.sh
./read.sh

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

bash预定义变量+read(获取键盘输入) 的相关文章

随机推荐

  • STM32 USB声卡录音(USB Microphone),基于CubeMX修改

    目录 说明 CubeMX配置 Pinout Clock Configuration Configuration 工程设置 代码工程修改 修改USB设备描述符 修改数据传输配置 声卡测试 说明 CubeMX生成的USB Audio Devic
  • Openwrt下安装Python3.5运行出现异常:Fatal Python error: Py_Initialize: Unable to get the locale encoding

    环境说明 Openwrt Python 3 5 依赖的库 libbz2 expat libopenssl libpthread zlib libffi libcrypto libncurses libpanel 使用说明 之前已经安装过py
  • OpenCV人脸识别

    OpenCV人脸识别与口罩检测 下载文件 人脸检测 人脸检测的检测方法主要有两类 基于知识 根据眼睛 眉毛 嘴巴 鼻子等器官特征及相互几何位置关系来检测 和基于统计 将人脸看作一个二维像素矩阵 通过大量人脸图像样本构造人脸模式空间 由相似度
  • kafka进阶

    kafka进阶 初识kafka 生产者 消费者 主题与分区 springboot kafka 集群 监控 面试题 初识kafka 消息队列 分布式发布 订阅消息系统 日志处理 基础架构 Producer 消息生产者 向Kafka中发布消息的
  • FSDirectory介绍

    其中常用的就是FSDirectory 表示对文件系统目录的操作 RAMDirectory 内存中的目录操作 首先我们看看类FSDirectory的源代码 import java io File import java io FileInpu
  • 2019完整的大数据知识体系,大数据学习路线图

    任何学习过程都需要一个科学合理的学习路线 才能够有条不紊的完成我们的学习目标 大数据所需学习的内容纷繁复杂 难度较大 有一个合理的大数据学习路线图帮忙理清思路就显得尤为必要 在这里还是要推荐下我自己建的大数据学习交流群 199427210
  • DL-深度学习基础

    目录 过拟合与欠拟合 降低过拟合风险的方法 降低欠拟合风险的方法 过拟合与欠拟合 欠拟合指模型不能在训练集上获得足够低的训练误差 过拟合指模型的训练误差与测试误差 泛化误差 之间差距过大 反应在评价指标上 就是模型在训练集上表现良好 但是在
  • Unity实战(11):项目非启动状态下使用代码批量替换材质

    目录 前言 配置环境 一 场景准备 二 代码演示 三 效果呈现 四 关于Resources Load 的说明 前言 本文内容为unity在编辑状态 非启动状态 下使用代码批量替换材质 该方法也适用于其他在编辑状态下对物体的操作需求 配置环境
  • Python15行代码实现免费发送手机短信,推送消息

    本文主要讲如何实现发送短信的功能 全部代码只用15行 实现的功能 通过代码定时给手机推送短信 短信内容可以自定义文字 当然你也可以去别的网站爬取每日心灵鸡汤 天气预报或其它信息进行推送 首先贴出实现的效果图 后面再分两步详细描述实现过程 第
  • Postman使用_接口导入导出

    文章目录 Postman导入数据 Collections导出数据 Environments导出数据 Postman导出所有数据 Postman导入数据 可以导入collections 接口集 Environments 环境配置 通过分享的链
  • 贪心、递归、递推以及动态规划算法的分析与对比

    算法导论 贪心算法 递归算法 动态规划算法总结 一般实际生活中我们遇到的算法分为四类 一 gt 判定性问题 二 gt 最优化问题 三 gt 构造性问题 四 gt 计算性问题 而今天所要总结的算法就是着重解决 最优化问题 算法之道 对三种算法
  • 【Java】基本类型之double(九)

    特征 double 数据类型是双精度 64 位 符合IEEE 754标准的浮点数 浮点数的默认类型为double类型 double类型同样不能表示精确的值 如货币 默认值是 0 0d 例子 double d1 123 4 精度 double
  • 重绘控件

    在Qt中 paintEvent方法是进行重绘的 只要出现以下几种情况 系统就会自动调用paintEvent方法 a 当窗口部件第一次显示时 系统会自动产生一个绘图事件 b 重新调整窗口部件大小 c 当窗口部件被其他部件遮挡 然后又再次显示出
  • 亲测微信小程序备案流程,微信小程序如何备案,微信小程序备案所需准备资料

    微信小程序为什么要备案 微信官方给出如下说明 1 若微信小程序未上架 自2023年9月1日起 微信小程序须完成备案后才可上架 2 若微信小程序已上架 请于2024年3月31日前完成备案 逾期未完成备案 平台将按照备案相关规定于2024年4月
  • [C++]生产消费模型

    生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题 生产者和消费者彼此之间不直接通讯 而通过阻塞队列来进行通讯 所以生产者生产完数据之后不用等待消费者处理 直接扔给阻塞队列 消费者不找生产者要数据 而是直接从阻塞队列里取 阻塞
  • 图解 Scrum 精要,一看就会!

    互联网时代 商业环境急剧变化 客户要求越来越高 竞争对手不断涌现 企业所处理的问题越来越易变 不确定 复杂 模糊 传统管理模式不再有效 敏捷管理模式应运而生 全球市值四大的苹果 微软 亚马逊 Facebook 都不约而同地采用了不同形式的敏
  • diffusion model

    尽管diffusion model在各类任务中都有着优秀的表现 它仍还有自己的缺点 并有诸多研究对diffusion model进行了改善 为了系统地阐明diffusion model的研究进展 我们总结了原始扩散模型的三个主要缺点 采样速
  • 计算机保研面试之专业课如何复习?

    专业课的文档我们把CSDN上的所有博客 四千多篇 经验贴字问到的专业课问题做了整理归纳 总结出来的这些面试比考的 找了很多人针对难度进行标星修订重要程度 即使是明天面试把星多的准备一下也能应付面试 付费的内容包括 1 这里把操作系统16问送
  • 三种Sigmoid的区别

    文章目录 torch sigmoid torch nn sigmoid torch nn funtional sigmoid 总结 torch sigmoid 这是一个方法 拥有Parameters以及Returns 参考官网的解释 就可以
  • bash预定义变量+read(获取键盘输入)

    程序执行的返回值 最后一次执行命令的返回状态 如果正确执行 则返回0 如果返回为非零 具体数值由命令决定 则上一条命令执行不正确 执行完一条命令之后 立马敲入echo 可得到返回值 例如 ls 执行之后 再敲入echo 可以得到0 前面说到