当前位置: 首页 > news >正文

Linux-shell简单学习

我是南城余!阿里云开发者平台专家博士证书获得者!

欢迎关注我的博客!一同成长!

一名从事运维开发的worker,记录分享学习。

专注于AI,运维开发,windows Linux 系统领域的分享!
其他中间件安装可参考下方知识库!

本章节对应知识库

shell · 语雀


#变量声明 不能有空格
my_var="hello nanchengyu" #双引号 单引号均可
echo $my_var #输出声明变量export $my_var #将变量提示为全局变量#撤销变量 unset 变量名 
#声明静态变量 readonly 变量 注意不能使用 unset#特殊变量 $n(n为数字,$0表示该脚本名称,$1-9代表第一到第九个参数,十以上的参数需要使用大括号包含,例如${110})
#./hello.sh xiaoming #后面直接跟参数即可
# $# (获取所有的输入参数的个数,常用于循环,判断参数的个数是否正确,以及加强脚本的健壮性)
# $*(这个命令就是相当于写入脚本中,把所有的脚本中的参数输出,把所有的参数看成一个整体相当于 字符串)
# $@ (同上,不过把每个参数区别对待 想等于数组)
#$? (最后一次执行的命令返回的状态,如果变量的值为0,代表上一次命令正确执行,如果非0,则相反,命令执行错误)#编写脚本 第一行默认带上 #!/bin/bash#运算
$((运算符)) 或者 $[运算符]#条件判断 [ condition ](注意 condition 前后要有空格) 返回0 代表true 返回1 代表false 与其他编程语言相反
#不能使用 > < 因为在Linux中 > 表示输出覆盖 
#-eq 表示等于 -ne表示 不等于(not equal) -lt(less then)小于
#-le 小于等于 (less equal) -gt 大于 (greater than) -ge 大于等于 (greater equal)#if判断
if [ 条件判断式 ];then 程序
fi
#或者
if [条件判断式] 
then 程序
fiif [条件判断式]
then程序
elif [条件判断式]
then 程序
else程序
fi#函数

 

条件分支

 

#!/bim/bashif [ "$1"x = "nanchengyu"x ] #x没含义,只是一种分隔符,防止程序报错
thenecho "hello , nanchengyu"
fi#输入第二个参数
if [ $2 -lt 18 ]
then echo "问成年人"
elif [ $2 -lt 35 ]
then echo "青年人"
elif [ $2 -lt 60 ]
then echo "中年人"
elifecho "老年人"
fi#执行该脚本并传入两个参数 ./test.sh nanchengyu 20

正则表达式

#特殊字符
#1.^ 匹配一行的开头 例如 cat /etc/passwd | grep ^a 会匹配所有以a开头的行

#2.$ 匹配一行的结束 例如 cat /etc/passwd | grep t$ 

#3. . 匹配一个任意的字符  一个点代表一个字符 例如 cat /etc/passwd | grep r..t 会匹配包含rabt rbbt root 等的所有行

http://www.lryc.cn/news/278392.html

相关文章:

  • CMake入门教程【高级篇】qmake转cmake
  • c#图片作为鼠标光标
  • 微信小程序swiper实现层叠轮播图
  • 揭露欧拉骗局第二篇:逼近公式“Σ1/n=lnn+C”。
  • MYSQL的学习——单行函数详解
  • 深度解析Cron表达式:精确控制任务调度的艺术
  • java实现AES256对称加解密工具类
  • 其他排序(基数排序,希尔排序和桶排序)(数据结构课设篇3,python版)(排序综合)
  • 【复现】DiffTalk
  • SQLServer 系统概述
  • Vue3 + TS + Element-Plus —— 项目系统中封装表格+搜索表单 十分钟写五个UI不在是问题
  • Linux系统——测试端口连通性方法
  • Python虚拟环境轻松配置:Jupyter Notebook中的内核管理指南
  • 大数据-hive函数与mysql函数的辨析及练习-将多行聚合成一行
  • 【AI视野·今日NLP 自然语言处理论文速览 第七十三期】Tue, 9 Jan 2024
  • vue知识-03
  • 关于httpClient 使用的注意事项
  • Docker 发布自定义镜像到公共仓库
  • 程序员有哪些接单的渠道?
  • 服务容错-熔断策略之断路器hystrix-go
  • C++进阶(三)多态
  • 大众汽车宣布将ChatGPT,批量集成在多种汽车中!
  • React----函数组件和类组件
  • Kafka集群部署 (KRaft模式集群)
  • Vue 自定义仿word表单录入之日期输入组件
  • Oracle与Java JDBC数据类型对照
  • C++力扣题目226--翻转二叉树
  • Gorm 数据库表迁移与表模型定义
  • 系列三、Spring Security中自定义用户名/密码
  • 如何顺滑使用华为云编译构建平台?