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编程经验记录的更多相关文章

  1. linux —— shell 编程(文本处理)

    导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 基本文本处理 流编辑器sed aw ...

  2. linux shell编程总结

    linux shell编程总结 本周学习了unix/linux shell编程,参考的是<LINUX与UNIX Shell 编程指南>,David Tansley著:徐焱,张春萌等译,由机 ...

  3. Linux Shell编程参考大全

    本文记录Linux Shell编程中常用基本知识,方便快速入门以及查询使用. 本文主要分为以下几个部分: 一.Shell中的变量 任何编程语言中,有关变量的定义,作用范围,赋值等都是最最基础的知识. ...

  4. Linux Shell编程与编辑器使用详解

    <Linux Shell编程与编辑器使用详解> 基本信息 作者: 刘丽霞 杨宇 出版社:电子工业出版社 ISBN:9787121207174 上架时间:2013-7-22 出版日期:201 ...

  5. linux —— shell 编程(编程语法)

    导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 再识变量 函数 条件语句 循环语句 ...

  6. Linux Shell编程中的几个特殊符号命令 & 、&& 、 ||

    https://blog.csdn.net/hack8/article/details/39672145 Linux Shell编程中的几个特殊符号命令 & .&& . || ...

  7. linux shell 编程参考

    #!/bin/bash my_fun() { echo "$#" } echo 'the number of parameter in "$@" is '$(m ...

  8. linux shell编程,先等10秒再判断是否有进程存在,存在就再等10秒再杀了进程才运行

    linux shell编程,先等10秒再判断是否有进程存在,存在就再等10秒再杀了进程才运行 crontab每分钟执行一次,但5秒以上才有更新数据,有时候一分钟可能跑不完上一个进程,需要先等10秒再判 ...

  9. 一文学完Linux Shell编程,比书都好懂

    一. Shell 编程 1. 简介 Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务. Shell 既是一种命令语言,又是一种程序设计语言. Shell scr ...

  10. 前端学习 linux —— shell 编程

    前端学习 linux - shell 编程 shell 原意是"外壳",与 kernel(内核)相对应,比喻内核外的一层,是用户和内核沟通的桥梁.shell 有很多种,国内通常使用 ...

随机推荐

  1. 流程自动化RPA,Power Automate Desktop系列 - 发布文档中心

    一.背景 内网中有一个基于VuePress搭建的静态文档中心,但是每次修改后都需要重新Build一次才行,之前都是手动执行命令,现在可以基于Power Automate Desktop来创建任务了. ...

  2. 4.5 RNN循环神经网络(recurrent neural network)

     自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取: https://www.cnblogs.com/bclshuai/p/11380657.html 1.1  RNN循环神经网络 ...

  3. python之字典(dict)基础篇

    字典:dict 特点: 1>,可变容器模型,且可存储任意类型对象,字符串,列表,元组,集合均可: 2>,以key-value形式存在,每个键值 用冒号 : 分割,每个键值对之间用逗号 , ...

  4. Redis 底层数据结构之字典

    文章参考 <Redis 设计与实现>黄建宏 字典 在字典中,每个键都是独一无二的,程序可以在字典中根据键查找与之相关联的值,或者通过键来更新和删除值. 字典在 Redis 中的应用相当广泛 ...

  5. 应用CRM的自动化功能为什么备受推崇

    相信每个销售团队都遇到过这样的问题:在跟进新客户的时候顾此失彼,在跟踪一个客户的时候,转眼就忘记了另一个客户.这种情况很常见,但是每个新客户都有潜在的价值,我们该如何做,才能避免错失商机?CRM客户管 ...

  6. Spring:Spring-IOC实例化bean的常用三种方式

    Spring容器提供了三种对bean的实例化方式: 1)构造器实例化 public class Demo { private String name; //getter和setter方法略 } < ...

  7. PHP解决并发问题的几种实现(转)

      对于商品抢购等并发场景下,可能会出现超卖的现象,这时就需要解决并发所带来的这些问题了 在PHP语言中并没有原生的提供并发的解决方案,因此就需要借助其他方式来实现并发控制. 方案一:使用文件锁排它锁 ...

  8. Java Lambda 表达式你会用吗?

    先看再点赞,给自己一点思考的时间,如果对自己有帮助,微信搜索[程序职场]关注这个执着的职场程序员.我有什么:Java技能,面试经验指导,简历优化,职场规划指导,技能提升方法,讲不完的职场故事,个人成长 ...

  9. centos安装报错:license information (license not accepted)

    前言:在最近部署的centos系统发现个问题 出现报错:安装配置完成后,重启虚拟机出现license  information  (license not accepted) 截图: 解决方案: 在界 ...

  10. windows服务器下MySQL配置字符集

    这俩天公司使用.netcore微服务+mysql做项目,mysql在使用的时候总是出现一些字符集的问题,修改utf8或utf8mb4后mysql的服务就启动不了,这里做下记录如果把my.ini中的字符 ...