read

$ISF

read

read [options] [variable...]

options:

-p prompt 提示语句

-t timeout 超时

-s slient 不显示用户输入(用于输入密码)

-i 用于提供默认值,必须和 -e 一起使用

# 提供默认值 $USER

# 读取输入,保存到变量名 name

[admin@localhost ~]$ read -e -p "Your name: " -i $USER name && echo $name

Your name: admin

admin

$ cat test-integer.sh

#!/bin/bash

read -p "Enter an integer: " num

# 判断是否整数

if [[ "$num" =~ -?[[:digit:]]+ ]]; then

# 判断正负

if (( num > 0 )); then

printf "%s is positive\n" $num

elif (( num < 0 )); then

printf "%s is negative\n" $num

else

printf "%s is zero\n" $num

fi

# 判断奇偶

if (( num % 2 == 0 )); then

printf "%s is even\n" $num

else

printf "%s is odd\n" $num

fi

# 不是整数,重定向到 stderr

else

echo "$num is not an integer" >&2

exit 1

fi

IFS

环境变量 IFS (internal field separator): 默认值是空白字符;

作用:作为 read 的分隔符

$ ./user_info.sh

Enter a username: admin

username: admin

group: admin

uid: 1000

gid: 1000

home: /home/admin:/bin/bash

$ cat ./user_info.sh

#!/bin/bash

# root:x:0:0:root:/root:/bin/bash

read -p "Enter a username: " -ei $USER user

user_info=$(grep "^$user" /etc/passwd)

if [ -n "$user_info" ]; then

# 临时改变分隔符为 :

# 用 <<< 将变量 user_info 的值作为标准输入传给 read

IFS=":" read username passwd uid gid group home <<< "$user_info"

printf "\nusername: %s" $username

printf "\ngroup: %s" $group

printf "\nuid: %s" $uid

printf "\ngid: %s" $gid

printf "\nhome: %s" $home

printf "\n\n"

else

echo "No such user: $user">&2

exit 1

fi

操作符 >>>

>>> 用于重定向字符串

command1 | command2:管道将 command1 的输出作为 command2 的输输入,但是管道会创建一个 subshell (复制 command1 的环境变量) 来执行 comand2,command2 执行完毕后销毁 subshell (清除环境变量)

# $variable 的值为空

$ echo "Hello" | read variable; echo $variable

# $variable 的值为 "Hello"

$ read variable <<< "Hello"; echo $variable

Hello

linux脚本读取输入信息,LinuxCommandLinex -- [ 脚本 - 读取输入]相关推荐

  1. linux脚本截取网页信息,Shell脚本实现获取网页快照并生成缩略图

    获取网页快照并生成缩略图可分两步进行: 1.获取网页快照 2.生成缩略图 获取网页快照 这里我们用 phantomjs 来实现.关于 phantomjs 的详细用法可参考官方网站.http://pha ...

  2. 【读取身份证信息】php 读取身份证信息

    <?phpnamespace App\Services;class IdentityCardService {public function get_shenfen($id){//截取前两位数$ ...

  3. linux 读取命令行输入参数,shell脚本读取文件+读取命令行参数+读取标准输入+变量赋值+输出到文件...

    读取url_list文件批量下载网页 url_list http://www.tianyancha.com/company/2412078287 http://www.4399.com/special ...

  4. linux读取手机文件,linux at命令和batch从输入或指定文件读取命令

    linux at命令和batch从输入或指定文件读取命令 2009-12-31 11:43:57   出处:https://www.yqdown.com linux at命令和 batch 从准则 输 ...

  5. linux脚本外输入参数,shell 脚本中关于用户输入参数的处理

    1.命令行参数 向shell脚本传递数据的最基本方式是使用命令行参数. (1) 读取参数 读取输入的参数的变量为位置参数,位置参数通过标准数字表示, 其中$0为程序名称,$1为第一个参数,$2为第二个 ...

  6. Linux编程 20 shell编程(shell脚本创建,echo显示信息)

    一概述 前面19章里已经掌握了linux系统和命令行的基础知识,从本章开始继续学习shell脚本的基础知识.在大量编辑shell脚本前,先来学习下一些基本概念. 1.1    使用多个命令 Shell ...

  7. shell写的检测linux系统硬件信息的脚本

    前面用python写了一个检测windonws硬件信息的脚本,这里是很久之前用shell写的一个linux系统硬件信息检测脚本,可以对照看一下.检测内容基本一样:操作系统信息.内存.CPU.硬盘分区及 ...

  8. Linux读取设备信息代码编写

    文章目录 前言 一.open函数 二.ioctl 三.总体代码编写 总结 前言 本篇文章我们将介绍到如何使用open,ioctl函数读取设备信息. 一.open函数 使用man手册查看到open函数的 ...

  9. 最优控制电池储能模型 蓄电池储能模型的最优控制python源代码 包含五个python脚本,它从data .csv读取价格、负载和温度数据。 然后用本文中描述的决策变量、目标和约束构造一个pyomo抽

    最优控制电池储能模型 蓄电池储能模型的最优控制python源代码,代码按照高水平文章复现 包含五个python脚本,它从data .csv读取价格.负载和温度数据. 然后用本文中描述的决策变量.目标和 ...

最新文章

  1. oracle 14108,ORA-14108:非法分区扩展表名的语法
  2. php的数据校验,php 数据类型校验函数的简单示例
  3. 转载:Windows CE内存管理
  4. java 多线程两种方式_JAVA多线程实现的两种方式
  5. 2017.3.6~2017.3.7 Harry And Magic Box 思考记录(特别不容易)
  6. 如何使用清理垃圾软件优化苹果电脑
  7. MongoDB自定义函数部分 定义及引用
  8. 计算机课件白板培训,希沃白板使用教学,直接导入PPT课件并修改
  9. JS中uibModal服务
  10. Eureka自我保护机制原理及作用enable-self-preservation
  11. 小姜的模拟学习日记_spectre使用
  12. 全球CORS网 部分站点数据下载链接
  13. 网络计算机应急处理,国家计算机网络应急技术处理协调中心-计算机网络安全应急处理.ppt...
  14. 研究生英语期末复习(Unit1)
  15. 老司机揭秘手机定位技术,实在是精彩!
  16. 【NLP】NLP中的对抗训练
  17. 全球与中国便携式USB摄像机市场现状及未来发展趋势(2022)
  18. PowerBI/DAX的计算组功能是什么?怎么用?
  19. Python生物医学专业案例 - 细胞计数
  20. 迭代重建技术(ART)简要介绍

热门文章

  1. redhat 服务器 安装mysql_Linux服务器安装mysql
  2. cad2014卡顿的解决方法_升级iOS14.1后出现卡顿、闪退?这3种方法可以解决
  3. currenthashmap扩容原理_ConcurrentHashMap实现原理和源码解读
  4. python中xpath用法_Python中的xpath基础使用
  5. python删除空值多于50%的行_删除Pandas中“空”值超过60%的列
  6. 计算机网络管理员中级理论知识试卷06,计算机网络管理员中级理论+技能完整题库及答案...
  7. web.xml中配置web监听器
  8. html网页主题结构,HTML5 基本结构
  9. linux vbox 添加串口,如何在VirtualBox中直接使用本机物理串口
  10. 分组数据方差公式_统计学公式