shell翻译官

embedded/2024/12/22 13:38:28/

shell脚本概述

shell的作用:

完成自动化运维工作,批量完成重复操作,结合crontab完成周期性任务

shell编程规范:

Shell脚本的编写
vim XXX.sh

1.申明解释器
#!/bin/bash        #!/bin/python
2.编写注释信息   
要以 # 号开头表示为注释,被注释的语句在脚本运行时是不会被执行的
3.编写执行语句
按照顺序编写要执行的命令语句

Shell脚本的运行

1.bashsh 指定脚本文件运行,可无执行权限


   绝对路径 或 相对路径 指定脚本文件运行,要求有执行权限


   以上两种方式 都是在子shell环境中执行脚本

2.source . 指定脚本文件运行,可无执行权限


会在当前shell环境中执行脚本 

重定向与管道

1.重定向操作

<         重定向输入,从文件读取数据


>         重定向输出,将正常输出的数据信息保存到文件,并覆盖原文件内容


>>        重定向追加,将正常输出的数据信息追加保存到文件末尾
2>        重定向错误输出,将错误输出的数据信息保存到文件,并覆盖原文件内容
2>>       重定向错误追加,将错误输出的数据信息追加保存到文件末尾
&>  >&    混合输出,将正常和错误输出的数据信息都保存到文件,并覆盖原文件内容
&>>       混合追加,将正常和错误输出的数据信息都追加保存到文件末尾

面试题:命令 > 文件 2>&1  效果等效于混合输出

2.管道符号 |

管道符号后 命令执行需要有对象则需要使用 xargs  进行参数的传递

shell脚本变量

自定义变量

定义一个新的变量 :变量名以字母或者下划线开头 区分大小写 (建议全大写)

1.变量名=变量值      查看变量 echo $变量名

面试题:两个变量值进行交换 准备个临时变量进行交换。

2.read -p "提示内容"  变量名     #从键盘输入中获取变量值

3.引号的作用
"$XXX"    会把$看作为引用XXX变量值
'$XXX'     会把$看作为一个普通字符,不会引用变量的值
`...`  等于$(...)    提取里面的命令执行后的结果

 变量的作用范围
    默认情况下自定义的变量只能在当前shell环境中有效

1.让自定义的变量在所有shell环境中有效的方法:
   在 /etc/bashrc 文件中定义 变量名=变量值
   切换 shell 环境自动生效

2.在 /etc/profile 文件中定义 export 变量名=变量值
   source /etc/profile 立即生效 或 重新登录系统自动生效

特殊变量

1.环境变量

env       #查看当前shell环境中所有可用的环境变量      /etc/profile    ~/.base_profile

2.只读变量

readonly 变量名=变量值      #只读变量不允许被修改变量值和删除变量

3.位置变量

./test.sh  one  two  three  four .... ten   

                $1   $2   $3     $4        ${10}

4.预定义变量

$0    代表脚本本身
$#    代表脚本后面跟的位置参数的数量
$?    代表的是上一条Linux命令执行的返回状态码(0~255),0表示上一条命令执行正确,非0值则表示上一条命令执行异常
$*     默认代表脚本后面跟的所有参数,加上双引号后 "$*" 会把所有参数看做一个整体
$@   默认代表脚本后面跟的所有参数,加上双引号后 "$@" 还是会把每个参数看做

date

date +"%Y%m%d"                当天日期
date -d "-1 day" +"%Y%m%d"     昨天日期
date +"%Y%m01"                当月第一天
date -d "1 month" +"%Y%m01"   下个月第一天
date -d "$(date -d "1 month" +"%Y%m01") -1 day" +"%Y%m%d"       当月最后一天   


http://www.ppmy.cn/embedded/37296.html

相关文章

聪明与诚实:社会信任的桥梁

在现代社会中&#xff0c;我们经常听到这样的评价&#xff1a;“某人真聪明。”然而&#xff0c;当我们深入思考时&#xff0c;会发现“聪明”这个词背后所承载的含义并不单一。聪明和狡诈往往被混淆&#xff0c;而诚实的价值却时常被忽视。在一个高度诚信的社会里&#xff0c;…

汽车混动结构概念

混动汽车中的PHEV、HEV和REEV分别代表了不同的技术概念和类型&#xff0c;它们各自有其特点和区别。以下是关于这三种混动汽车的概念和它们之间的主要区别&#xff1a; PHEV&#xff08;插电式混合动力汽车&#xff0c;Plug-in Hybrid Electric Vehicle&#xff09; 概念&…

开源模型应用落地-CodeQwen模型小试-探索更多使用场景(三)

一、前言 代码专家模型是基于人工智能的先进技术&#xff0c;它能够自动分析和理解大量的代码库&#xff0c;并从中学习常见的编码模式和最佳实践。这种模型可以提供准确而高效的代码建议&#xff0c;帮助开发人员在编写代码时避免常见的错误和陷阱。 通过学习代码专家模型&…

二叉树遍历

一、树的引入 在对数据进行管理时&#xff0c;数据的查找是一个非常常见的基本操作&#xff0c;它是根据某个给定的关键字 K K K&#xff0c;从集合 R R R中找到关键字与 K K K相同的记录。根据集合中的记录是否发生动态变化&#xff0c;查找分为动态查找和静态查找。静态查找…

重庆大足某厂不锈钢管件酸洗钝化-智渍洁

简报&#xff1a;重庆大足某厂不锈钢管件酸洗钝化 重庆大足某厂不锈钢管件酸洗钝化 - 重庆智渍洁环保科技有限公司简报&#xff1a;重庆大足某厂不锈钢管件酸洗钝化https://www.zhizijie.com/hl/zixun/gongsi/237.html

芸众商城电商专业版400+插件源码+搭建教程

介绍&#xff1a; 芸众商城社交电商系统SAAS平台前端基于vue开发&#xff0c;后端基于研发积分商城系统源码 php&#xff0c;本文安装芸众商城全插件&#xff08;400多个&#xff09;商业版平台源码&#xff0c;可同时支持多端口部署运行&#xff1b;使用宝塔面板一键部署的形…

我的256天之创作纪念日

目录 时光 数据的一些变化 开心的事 憧憬 时光 自上次CSDN的消息推送&#xff0c;又一个128天过去了&#xff0c;整天的工作和生活都在忙忙碌碌中度过&#xff0c;每到能静下来片刻&#xff0c;都倍感珍惜。因为一些原因&#xff0c;能够陪伴家人的时间越来越少&#xff…

Python 爬虫:Spring Boot 反爬虫的成功案例

前言 在当今数字化时代&#xff0c;网络数据成为了信息获取和分析的重要来源之一。然而&#xff0c;随着网络数据的广泛应用&#xff0c;爬虫技术也逐渐成为了互联网行业的热门话题。爬虫技术的应用不仅可以帮助企业获取有价值的信息&#xff0c;还可以用于数据分析、市场研究…