linux脚本读取输入信息,LinuxCommandLinex -- [ 脚本 - 读取输入]
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 -- [ 脚本 - 读取输入]相关推荐
- linux脚本截取网页信息,Shell脚本实现获取网页快照并生成缩略图
获取网页快照并生成缩略图可分两步进行: 1.获取网页快照 2.生成缩略图 获取网页快照 这里我们用 phantomjs 来实现.关于 phantomjs 的详细用法可参考官方网站.http://pha ...
- 【读取身份证信息】php 读取身份证信息
<?phpnamespace App\Services;class IdentityCardService {public function get_shenfen($id){//截取前两位数$ ...
- linux 读取命令行输入参数,shell脚本读取文件+读取命令行参数+读取标准输入+变量赋值+输出到文件...
读取url_list文件批量下载网页 url_list http://www.tianyancha.com/company/2412078287 http://www.4399.com/special ...
- linux读取手机文件,linux at命令和batch从输入或指定文件读取命令
linux at命令和batch从输入或指定文件读取命令 2009-12-31 11:43:57 出处:https://www.yqdown.com linux at命令和 batch 从准则 输 ...
- linux脚本外输入参数,shell 脚本中关于用户输入参数的处理
1.命令行参数 向shell脚本传递数据的最基本方式是使用命令行参数. (1) 读取参数 读取输入的参数的变量为位置参数,位置参数通过标准数字表示, 其中$0为程序名称,$1为第一个参数,$2为第二个 ...
- Linux编程 20 shell编程(shell脚本创建,echo显示信息)
一概述 前面19章里已经掌握了linux系统和命令行的基础知识,从本章开始继续学习shell脚本的基础知识.在大量编辑shell脚本前,先来学习下一些基本概念. 1.1 使用多个命令 Shell ...
- shell写的检测linux系统硬件信息的脚本
前面用python写了一个检测windonws硬件信息的脚本,这里是很久之前用shell写的一个linux系统硬件信息检测脚本,可以对照看一下.检测内容基本一样:操作系统信息.内存.CPU.硬盘分区及 ...
- Linux读取设备信息代码编写
文章目录 前言 一.open函数 二.ioctl 三.总体代码编写 总结 前言 本篇文章我们将介绍到如何使用open,ioctl函数读取设备信息. 一.open函数 使用man手册查看到open函数的 ...
- 最优控制电池储能模型 蓄电池储能模型的最优控制python源代码 包含五个python脚本,它从data .csv读取价格、负载和温度数据。 然后用本文中描述的决策变量、目标和约束构造一个pyomo抽
最优控制电池储能模型 蓄电池储能模型的最优控制python源代码,代码按照高水平文章复现 包含五个python脚本,它从data .csv读取价格.负载和温度数据. 然后用本文中描述的决策变量.目标和 ...
最新文章
- oracle 14108,ORA-14108:非法分区扩展表名的语法
- php的数据校验,php 数据类型校验函数的简单示例
- 转载:Windows CE内存管理
- java 多线程两种方式_JAVA多线程实现的两种方式
- 2017.3.6~2017.3.7 Harry And Magic Box 思考记录(特别不容易)
- 如何使用清理垃圾软件优化苹果电脑
- MongoDB自定义函数部分 定义及引用
- 计算机课件白板培训,希沃白板使用教学,直接导入PPT课件并修改
- JS中uibModal服务
- Eureka自我保护机制原理及作用enable-self-preservation
- 小姜的模拟学习日记_spectre使用
- 全球CORS网 部分站点数据下载链接
- 网络计算机应急处理,国家计算机网络应急技术处理协调中心-计算机网络安全应急处理.ppt...
- 研究生英语期末复习(Unit1)
- 老司机揭秘手机定位技术,实在是精彩!
- 【NLP】NLP中的对抗训练
- 全球与中国便携式USB摄像机市场现状及未来发展趋势(2022)
- PowerBI/DAX的计算组功能是什么?怎么用?
- Python生物医学专业案例 - 细胞计数
- 迭代重建技术(ART)简要介绍
热门文章
- redhat 服务器 安装mysql_Linux服务器安装mysql
- cad2014卡顿的解决方法_升级iOS14.1后出现卡顿、闪退?这3种方法可以解决
- currenthashmap扩容原理_ConcurrentHashMap实现原理和源码解读
- python中xpath用法_Python中的xpath基础使用
- python删除空值多于50%的行_删除Pandas中“空”值超过60%的列
- 计算机网络管理员中级理论知识试卷06,计算机网络管理员中级理论+技能完整题库及答案...
- web.xml中配置web监听器
- html网页主题结构,HTML5 基本结构
- linux vbox 添加串口,如何在VirtualBox中直接使用本机物理串口
- 分组数据方差公式_统计学公式