Linux-shell编程经验记录
Linux-shell编程经验总结
1、接收用户输入
#读取用户输入并且将输入保存到input变量中
read -p "请输入:" input
#也可以先输出信息再进行读取,这里的-n是为了用户输入和提示在同一行,不会换行
echo -n "请输入:"
read input
2、echo打印有颜色的输出
#黑色
echo -e "\033[30m 要打印的内容或变量 \033[0m"
#红色
echo -e "\033[31m 要打印的内容或变量 \033[0m"
#绿色
echo -e "\033[32m 要打印的内容或变量 \033[0m"
#黄色
echo -e "\033[33m 要打印的内容或变量 \033[0m"
#蓝色
echo -e "\033[34m 要打印的内容或变量 \033[0m"
#紫色
echo -e "\033[35m 要打印的内容或变量 \033[0m"
#天蓝
echo -e "\033[36m 要打印的内容或变量 \033[0m"
#白色
echo -e "\033[37m 要打印的内容或变量 \033[0m"
3、echo参数及打印格式
#开启对输出字符串中的转义字符\,比如输出带换行 \n、tab \t,不加参数打印纯字符串
echo -e "\t打印的内容\n"
#打印的末尾不换行
echo -n "打印的内容"
#例如:下面代码输出的是 我是Leil
echo -n "我是"
echo "Leil"
#-e -n 可以组合使用
echo -en "\t我是Leil"
4、[ ] 和 [[]] 的区别
#[ ] 实际上是bash 中 test 命令的简写
if [ $input -eq 0 ]; then
echo "输入为0"
fi
#[[ ]]是对[ ]的一种增强,其中可以做更复杂的操作,比如&&、||,还有 =~,以及运算操作
#判断用户输入的数加上1,是否大于0小于10
if [[ $input+1 -gt 0 && $input+1 -lt 10 ]]
echo "是"
else
echo "不是"
fi
# =~:正则匹配,用来判断其左侧的参数是否符合右边的正则的要求,如果匹配就输出1,不匹配就输出0
5、函数返回值
#函数返回值只能为介于 0~255 之间的整数,不可以是字符串或者布尔值
#在一个函数中调用另一个函数的返回的布尔值(0为真,1为假),如下例所示:
#判断数字是否为整数的函数
function is_int(){
#如果参数为空返回1
if [ $# -lt 1 ]; then
return 1
fi
#如果参数为整数返回0
if [[ $1 =~ ^-?[1-9][0-9]*$ ]]; then
return 0
fi
if[[ $1 =~ ^0$ ]]; then
return 0
fi
#如果参数为其它字符返回1
return 1
}
#接收用户输入
read -p "请输入:" input
#判断用户输入是否为整数
if is_int $input; then
echo "输入是整数!"
else
echo "输入不是整数!"
fi
6、case模式
read -p "请输入:" input
case $input in
模式1)
命令1
;;
模式2)
命令2
;;
*)
命令3
esac
#注:模式可以匹配单个字符和多个字符,比如匹配两位数就可以写成 [0-9][0-9]) 但是必须输入的是两位。[]的数如果是范围最大是9,如果写[0-10]则不会匹配到这个模式。
Linux-shell编程经验记录的更多相关文章
- linux —— shell 编程(文本处理)
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 基本文本处理 流编辑器sed aw ...
- linux shell编程总结
linux shell编程总结 本周学习了unix/linux shell编程,参考的是<LINUX与UNIX Shell 编程指南>,David Tansley著:徐焱,张春萌等译,由机 ...
- Linux Shell编程参考大全
本文记录Linux Shell编程中常用基本知识,方便快速入门以及查询使用. 本文主要分为以下几个部分: 一.Shell中的变量 任何编程语言中,有关变量的定义,作用范围,赋值等都是最最基础的知识. ...
- Linux Shell编程与编辑器使用详解
<Linux Shell编程与编辑器使用详解> 基本信息 作者: 刘丽霞 杨宇 出版社:电子工业出版社 ISBN:9787121207174 上架时间:2013-7-22 出版日期:201 ...
- linux —— shell 编程(编程语法)
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 再识变量 函数 条件语句 循环语句 ...
- Linux Shell编程中的几个特殊符号命令 & 、&& 、 ||
https://blog.csdn.net/hack8/article/details/39672145 Linux Shell编程中的几个特殊符号命令 & .&& . || ...
- linux shell 编程参考
#!/bin/bash my_fun() { echo "$#" } echo 'the number of parameter in "$@" is '$(m ...
- linux shell编程,先等10秒再判断是否有进程存在,存在就再等10秒再杀了进程才运行
linux shell编程,先等10秒再判断是否有进程存在,存在就再等10秒再杀了进程才运行 crontab每分钟执行一次,但5秒以上才有更新数据,有时候一分钟可能跑不完上一个进程,需要先等10秒再判 ...
- 一文学完Linux Shell编程,比书都好懂
一. Shell 编程 1. 简介 Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务. Shell 既是一种命令语言,又是一种程序设计语言. Shell scr ...
- 前端学习 linux —— shell 编程
前端学习 linux - shell 编程 shell 原意是"外壳",与 kernel(内核)相对应,比喻内核外的一层,是用户和内核沟通的桥梁.shell 有很多种,国内通常使用 ...
随机推荐
- 跟我一起学 Go 系列:gRPC 拦截器
Go gRPC 学习系列: 跟我一起学Go系列:gRPC 入门必备 第一篇内容我们已经基本了解到 gRPC 如何使用 .对应的三种流模式.现在已经可以让服务端和客户端互相发送消息.本篇仍然讲解功能性的 ...
- 66.QT-线程并发、QTcpServer并发、QThreadPool线程池
1.线程并发一个程序内部能拥有多个线程并行执行.一个线程的执行可以被认为是一个CPU在执行该程序.当一个程序运行在多线程下,就好像有多个CPU在同时执行该程序.总之,多线程即可以这么理解:多线程是处理 ...
- 13、ssh跳板机
13.1.前提条件: 1.跳板机服务器和其它服务器建立了ssh秘钥登录: 2.目前的环境: (1)各服务器上都建立了lc用户,并给于sudo (lc ALL= NOPASSWD:ALL )权限,lc就 ...
- 9、解决mstsc卡顿的问题:
1.同时按住"win+r"键调出"运行",在方框内输入"cmd"后点击"确定"打开dos窗口: 2.在dos中输入&qu ...
- layui comfirm 监听点击确定、取消、“X”关闭按钮
layer.confirm('数据已存在,是否继续', { offset: '200px' , cancel: function (index, layero) { console.log('点击X按 ...
- MySQL存储引擎——InnoDB和MyISAM的区别
MySQL5.5后,默认存储引擎是InnoDB,5.5之前默认是MyISAM. InnoDB(事务性数据库引擎)和MyISAM的区别补充: InnoDB是聚集索引,数据结构是B+树,叶子节点存K-V, ...
- C语言:随机数
在实际编程中,我们经常需要生成随机数,例如,贪吃蛇游戏中在随机的位置出现食物,扑克牌游戏中随机发牌.在C语言中,我们一般使用 <stdlib.h> 头文件中的 rand() 函数来生成随机 ...
- PYTHON 使用re.findall如果没有引用
python使用re.findall时必须提前import re否则不提示错误,只是找不到结果 import re ab=re.findall('cmp=com.(.*?)/',aa)
- Qt5MV自定义模型与实例浅析
1. Model/View结构 这种结构,其实就是将界面组件与所编辑的数据分离开来,又通过数据源的方式连接起来,相当于解耦,视图层只关心显示和与用户交互,而数据层负责与实际的数据进行通信,并为视图组件 ...
- SpringBoot整合Shiro实现权限控制
目录 1.SpringBoot整合Shiro 1.1.shiro简介 1.2.代码的具体实现 1.2.1.Maven的配置 1.2.2.整合需要实现的类 1.2.3.项目结构 1.2.4.ShiroC ...