<shell>《Shell脚本-极简实用手册(高级)》 (自用、持续更新)

news2024/11/25 18:49:21

1 变量

1.1 2>&1

解释:将“标准错误”输出到“标准输出文件中”。
示例:cat /etc/hosts >> $LOG 2>&1
说明:
在这里插入图片描述
1、使用 > 或 >> 时,默认为标准输出 1 重定向, 所以 > file 就是 1> file 的省写。
2、举个例子:ls test.txt >> 1.log 命令

  • 如果目录下存在test.txt,则cat 1.log结果为test.txt
  • 如果目录下不存在test.txt,执行命令出现报错test.txt not found,而cat 1.log结果为
  • 如果目录不存在,执行命令换为ls test.txt >> 1.log 2> 2.log,前台无报错,而cat 2.log结果为test.txt not found。2.log前可加空格,也可不加空格。
  • 如果目录不存在,执行命令换为ls test.txt >> 1.log 2>&1,前台无报错,而cat 1.log结果为test.txt not found

3、&1起到的作用是,将“标准错误输出”输出到标准输入的文件中,即仍输出到1.log中。
参考的优秀文章:【linux命令】Linux shell中 2>&1的含义解释(标准输入输出)及nohup后台启动

1.2 参数

序号参数说明
1$#表示执行脚本传入参数的个数
2$*表示执行脚本传入参数列表
3$$表示进程id
4$@表示执行脚本传入所有参数
5$0表示执行脚本名称
6$1表示第一个参数
7$2表示第二个参数
8$?表示脚本执行状态0正常,其他表示有错误

1.3 crontab脚本执行失败

在脚本中引用环境变量
问题探究参考:《SHELL脚本在crontab环境下执行失败问题处理》

root用户添加:
source /etc/profile
普通用户添加:
source ~/profile

2 操作

2.1 计算

1、使用bc进行计算

[db2inst1@localhost ~]$ echo "1+2"|bc
3
[db2inst1@localhost ~]$ echo "1.00+2"|bc
3.00
[db2inst1@localhost ~]$ echo "1.00*2"|bc
2.00

2.2 输出命令结果的两种方式

[db2inst1@localhost ~]$ echo $(date)
20231117日 星期五 11:27:35 CST
[db2inst1@localhost ~]$ echo `date`
20231117日 星期五 11:27:41 CST

2.3 筛查、去重、排序

//先将结果通过grep/awk命令筛选要查看的列,再使用sort命令进行排序,然后再使用uniq命令去重。以查看DB2数据库链接对应的IP地址举例。

$ db2 list applicaitons |grep -i dbname | grep -i schamename | awk '{print $1,$4}'  | awk -F"." '{print $1,$2,$3,$4}' | sort | uniq

2.4 分组统计

$ ps -ef|awk '{print $1}' | sort | uniq -c | awk '{printf "%-20s%-15s\n",$2,$1}'

3 格式/排版/美化

3.1 echo

1、一个命令输出多个空行

echo '\n\n\n'

3.2 颜色

在这里插入图片描述

色彩绿洋红青
前景色30313233343536
后景色40414243444546
[db2inst1@localhost ~]$ echo -e "\033[41;36m Hello world \033[0m"

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1219642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(二):EtherCAT总线初始化

XPCIE1032H功能简介 XPCIE1032H是一款基于PCI Express的EtherCAT总线运动控制卡,可选6-64轴运动控制,支持多路高速数字输入输出,可轻松实现多轴同步控制和高速数据传输。 XPCIE1032H集成了强大的运动控制功能,结合MotionRT7运动…

ADI 阻抗测量开发板AD5940调试

硬件环境: 评估板A,阻抗测试板 EVAL-AD5940BIOZ,阻抗测试板信息链接如下: https://wiki.analog.com/resources/eval/user-guides/eval-ad5940/hardware/eval-ad5940bioz 评估板B,MCU控制板 EVAL-ADICUP3029,控制板信息链接如下…

Matlab绘制双坐标轴图示例函数yyaxis

一、前言 出于一些需求,我们需要将两个不同属性的参量绘制在同一张图上,但是两个参量属性不同,即单位不同,纵坐标值分布范围不同,此刻,我们只需要将一个参量的值在y轴左侧展示,另一个参量的值在…

【案例】可视化大屏

人狠话不多,直接上效果图 这里放的地图自己去实现吧,如果也想实现3D地球话,等笔者那天有心情写篇文章; 说明:script中methods部分代码是没用,可以直接删掉,根据个人情况去写, 内容:笔者也就对页面布局进行了设计,内容的填充就靠个人了 <template><div :sty…

linux使用chage修改用户密码过期时间解决rac安装互信问题

文章目录 一、RAC建多实例库提示互信问题二、原因分析1.修改系统用户密码期限2.修改语法&#xff1a;chage [选项] 用户名3.常用示例&#xff1a; 一、RAC建多实例库提示互信问题 二、原因分析 因为此次是在原有集群情况下创建多个实例&#xff0c;其实不需要优先排查俩节点的…

最新前端技术趋势——菜鸟必看

前端的车轮滚滚向前&#xff0c;轮子造的越来越圆&#xff0c;速度造的越来越快&#xff0c;每个人都在适应这个轮子的节奏&#xff0c;稍微不注意就会被甩出车轮之外。狼狈不堪之外还会发自心底的大喊一声&#xff1a;别卷了&#xff01;&#xff01; 话虽这么说&#xff0c;…

MyCat基础入门

1. MyCat安装 去官网下载安装包&#xff1a; 下载路径&#xff1a; 官方网站&#xff1a;http://www.mycat.org.cn/ github地址https://github.com/MyCATApache 上传到服务器上并解压&#xff1a; 它解压后是一个叫mycat的文件夹 去maycat的bin目录下&#xff0c;执行命令 ./my…

查看libc版本

查看libc库版本 查看系统libc版本 $ ldd --version ldd (Ubuntu GLIBC 2.27-3ubuntu1.2) 2.27 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or …

nodejs spawn

Node.js 的子进程 (child_process) 模块下有一 spawn 函数&#xff0c;可以用于调用系统上的命令&#xff0c;如在 Linux, macOS 等系统上&#xff0c;我们可以执行如下代码来调用通用的 npm 命令。 const spawn require(child_process).spawn; spawn(npm, {stdio: inherit …

【小收获】一维字符数组 与 二维字符数组

一维字符数组 一维字符数组 可以通过数组名直接进行整体输入和输出&#xff08;注意&#xff1a;当使用一维字符数组存储字符串时&#xff0c;因为元素尾部会有一个空字符\0,所以需要给空字符\0留一个位置&#xff09; char a[5]; cin>>a; cout<<a;二维字符数组 …

ZBrush 2024(三维数字雕刻软件)

ZBrush是一款Mac数字雕刻软件&#xff0c;它具有以下功能&#xff1a; 雕刻工具&#xff1a;ZBrush的雕刻工具非常强大&#xff0c;可以让用户在3D模型上进行雕刻&#xff0c;就像使用传统雕塑工具一样。高精度模型创建&#xff1a;ZBrush可以创建高精度的3D模型&#xff0c;适…

【AI】马斯克说大模型要开源,我们缺的是源代码?(附一图看懂6大开源协议)

目录 一、说说开源和闭源 1. GUN GPL协议 2. BSD&#xff08;Berkeley Software Distribution&#xff0c;伯克利软件发布版&#xff09;协议 3. Apache 许可证版本&#xff08;Apache License Version&#xff09;协议 4. MIT&#xff08;Massachusetts Institute of Tec…

Elasticsearch 8.9 Bulk批量给索引增加数据源码

一、相关API的handler二、RestBulkAction&#xff0c;组装bulkRequest调用TransportBulkAction三、TransportBulkAction 会把数据分发到数据该到的数据节点1、把数据按分片分组&#xff0c;按分片分组数据再发送到指定的数据节点(1) 计算此文档发往哪个分片1)根据索引是否是分区…

Flutter NestedScrollView 、SliverAppBar全解析,悬浮菜单的应用

在我们开发过程中经常会使用到悬浮菜单的使用&#xff0c;当我们滑动到指定位置后&#xff0c;菜单会自动悬浮。 实现效果如下&#xff08;左为滑动前、右为滑动后&#xff09;&#xff1a; 上述便是通过NestedScrollView 、SliverAppBar实现的效果&#xff0c;通过两个控件我…

HTTPS加密为什么能保证网络安全?

随着互联网的普及和发展&#xff0c;网络安全问题日益严重。为了保护用户的隐私和数据安全&#xff0c;许多网站都采用了HTTPS加密技术。那么&#xff0c;HTTPS加密为什么可以保证网络安全呢&#xff1f; 原因是HTTP协议采用的是数据明文传输方式。用户从客户端浏览器提交数据…

基于Java的鲜花商店的设计与实现,ssm+jsp,MySQL数据库,前台用户+后台管理,完美运行,有一万字论文

目录 演示视频 基本介绍 选题背景 系统结构 论文目录 系统截图 演示视频 基本介绍 基于Java的鲜花商店的设计与实现&#xff0c;ssmjsp&#xff0c;MySQL数据库&#xff0c;前台用户后台管理&#xff0c;完美运行&#xff0c;有一万字论文。 前台功能&#xff1a;注册登…

Python Web APP在宝塔发布

本地测试运行&#xff1a;uvicorn main:app --host 127.0.0.1 --port 8082 --reload 宝塔发布&#xff1a; 运行配置——>启动模式&#xff1a;worker_class uvicorn.workers.UvicornWorker

Windows安装Elasticsearch并结合内网穿透实现远程访问

文章目录 系统环境1. Windows 安装Elasticsearch2. 本地访问Elasticsearch3. Windows 安装 Cpolar4. 创建Elasticsearch公网访问地址5. 远程访问Elasticsearch6. 设置固定二级子域名 Elasticsearch是一个基于Lucene库的分布式搜索和分析引擎&#xff0c;它提供了一个分布式、多…

Win10远程连接服务器失败,报错:出现了内部错误

背景&#xff1a;本地windows10专业版电脑远程Windows虚拟机报错&#xff0c;但实际检查控制台发现&#xff0c;虚拟机状态正常&#xff0c;只是本地远程连接莫名其妙断开&#xff0c;并报错出现了内部错误&#xff1a; 原因&#xff1a;win10客户端RDP兼容性的问题 解决方法&…

数据资产“入表”是不是红利?国企怎么认识?怎么利用?

毫无疑问&#xff0c;数字资产入表是红利。 数据资产入表意味着将数据资源作为企业资产进行确认和计量&#xff0c;解决了数据资源作为非物质资产未被充分认可和有效计量的问题&#xff0c;意味着数据完成了从自然资源到经济资产的跨越。上海数据交易所总经理汤奇峰此前表示&a…