学会用bash在linux写脚本 (一)
- 了解通配符
- 了解变量
- 了解返回值和数值运算
[root@pp ~]# mkdir xx
[root@pp ~]# cd xx
[root@pp xx]# touch 1_aa aa11 Aa11 _aaa aa.txt f1aa u_12 flaa
[root@pp xx]#
[root@pp xx]# ls [a-z][0-9]*
f1aa
[root@pp xx]#
[root@pp xx]# ls [a-z][^0-9]*
aa11 Aa11 aa.txt flaa u_12
[root@pp xx]#
[root@pp xx]# ls [[:lower:]][0-9]*
f1aa
[root@pp xx]#
[root@pp xx]# ls [[:upper:]][[:alnum:]]*
Aa11
[root@pp xx]#
1 变量名=值 [root@pp ~]# mkdir yy ; cd yy
[root@pp yy]#
[root@pp yy]# 1aa=123
bash: 1aa=123: 未找到命令.. [root@pp yy]# aa=123
[root@pp yy]# echo $aa
123
[root@pp yy]#
[root@pp yy]# echo $aa
123
[root@pp yy]# echo $$
3070
[root@pp yy]#
[root@pp yy]# bash
[root@pp yy]# echo $$
3372
[root@pp yy]#
[root@pp yy]# echo $aa[root@pp yy]# exit
[root@pp yy]# echo $aa
123
[root@pp yy]#
[root@pp yy]# ip=$(ifconfig ens160 | awk '/inet /{print $2}')
[root@pp yy]# echo $ip
192.168.248.45
[root@pp yy]#
1 read ‐p "提示信息" 变量 [root@pp yy]# read -p "请输入你的名字" aa
请输入你的名字iu
[root@pp yy]# echo $aa
iu
[root@pp yy]#
[root@pp yy]# export bb=123
[root@pp yy]#
[root@pp yy]# echo $$
3070
[root@pp yy]# echo $bb
123
[root@pp yy]#
[root@pp yy]# bash
[root@pp yy]# echo $$
3828
[root@pp yy]# echo $bb
123
[root@pp yy]#
[root@pp yy]# export bb=456
[root@pp yy]# exit
exit
[root@pp yy]# echo $bb
123
[root@pp yy]#
[root@pp yy]# echo $UID
0
[root@pp yy]# echo $USER
root
[root@pp yy]#
[root@pp yy]# cat scl.yaml
#/bin/bash
echo "这是我第一个脚本,脚本名称是 $0"
echo "第 1 个参数是:$1"
echo "第 2 个参数是:$2"
echo "第 3 个参数是:$3"
echo "此脚本一共有 $# 个参数,它们分别是:$*"
[root@pp yy]#
[root@pp yy]# chmod +x scl.yaml
[root@pp yy]# ./scl.yaml tom bob mary
这是我第一个脚本,脚本名称是 ./scl.yaml
第 1 个参数是:tom
第 2 个参数是:bob
第 3 个参数是:mary
此脚本一共有 3 个参数,它们分别是:tom bob mary
[root@pp yy]#
[root@pp yy]# xxx
bash: xxx: 未找到命令...
[root@pp yy]# echo $?
127
[root@pp yy]# echo $?
0
[root@pp yy]#
[root@pp yy]# grep ^root /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@pp yy]# echo $?
0
[root@pp yy]#
[root@pp yy]# grep ^rootxxx /etc/passwd
[root@pp yy]# echo $?
1
[root@pp yy]#
[root@pp yy]# echo $((2+3))
5
[root@pp yy]#
[root@pp yy]# echo 2**3
2**3
[root@pp yy]#
[root@pp yy]# declare -i aa
[root@pp yy]# aa=1+2
[root@pp yy]# echo $aa
3
[root@pp yy]#
1 echo "scale=N ; 算法 | bc" [root@pp yy]# echo "scale=3 ; 2/3" | bc
.666
[root@pp yy]#
[root@pp yy]# echo "scale=3 ; 7/6" | bc
1.166
[root@pp yy]#
相关文章:
学会用bash在linux写脚本 (一)
本章主要介绍如何使用bash写脚本。 了解通配符 了解变量 了解返回值和数值运算 grep的用法是“grep 关键字 file”,意思是从file中过滤出含有关键字的行。 例如,grep root /var/log/messages,意思是从/var/log/messages 中过滤出含有root …...
Leetcode 2949. Count Beautiful Substrings II
Leetcode 2949. Count Beautiful Substrings II 1. 解题思路2. 代码实现 Leetcode 2949. Count Beautiful Substrings II 1. 解题思路 这一题真的很丢脸,居然没有搞定,是看了大佬们的思路之后才想明白的,就感觉丢脸丢大了…… 这道题讲道…...
【Python系列】Python函数
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
自定义TypeHandler 将mysql返回的逗号分隔的String转换到List
sql执行如下: 这里我定义的接受类: 但是这里报了错JSON parse error: Cannot deserialize value of type java.util.ArrayList<java.lang.String>from Object value (token JsonToken.START_OBJECT); nested exception is com.fasterxml.jackson…...
Spring 高级装配详解
一、环境与profile 在3.1版本中,Spring引入了bean profile的功能。要使用profile,首先要将所有不同的bean定义整理到一个或者多个pofile之中,再将应用部署到每个环境时,确保对应的profile处于激活状态。 在Java配置中…...
mapbox Marker添加自定义html
思路就是先渲染出空div使用getElementsByClassName找到点,之后使用insertAdjacentHTML(‘beforeend’, div) 加自定义内容。 const el document.createElement(div);// 添加一个标记el.className j_icon;const itemIcon new MapboxGl.Marker({element: el,}).set…...
Linux UUCP命令教程:如何在Linux系统中进行文件复制(附实例详解和注意事项)
Linux UUCP命令介绍 UUCP(Unix-to-Unix Copy)是一套允许远程执行命令和传输文件的程序。UUCP命令是该套件中的一个程序,它为请求文件复制操作提供了用户界面。UUCP套件还包括uux(远程命令执行的用户界面)、uucico&…...
【android开发-21】android中调用系统摄像头camera拍照和相册的用法详解
1,调用摄像头 在Android中,调用系统摄像头拍照需要使用Intent来启动Camera应用,并在应用中设置相应的权限。下面是一个简单的例子: // 创建一个Intent对象,指定要执行的动作是拍照 Intent intent new Intent(Medi…...
最新版本——Hadoop3.3.6单机版完全部署指南
大家好,我是独孤风,大数据流动的作者。 本文基于最新的 Hadoop 3.3.6 的版本编写,带大家通过单机版充分了解 Apache Hadoop 的使用。本文更强调实践,实践是大数据学习的重要环节,也能在实践中对该技术有更深的理解&…...
理解自我效能感:你的内在动力来源
1. 自我效能感:开启个人潜能的心理动力 想象一下,面对生活的挑战和机遇时,是什么内在力量驱使你去采取行动,或者让你犹豫不决?这种力量,与我们的心理状态紧密相关,其中一个关键因素就是我们的自…...
Java第二十一章
一.网络程序设计基础 1.网络协议 网络协议规定了计算机之间连接的物理、机械(网线与网卡的连接规定)、电气(有效的电平范围)等特征,计算机之间的相互寻址规则,数据发送冲突的解决方式,长数据如何分段传送与接收等内容.就像不同的国家有不同的…...
Redis交互速度慢,CPU占用100%,集群方案,报错等问题
Redis交互速度很慢,达到几十到一百毫秒一次 问题描述: 执行top命令发现redis占用达到100% redis交互速度慢,一次要几十到一百毫秒一次 解决思路 查看redis数据量,比如我这里达到了30万 经过本地测试,redis交互的速…...
wpf 系统在显示器分辨率和缩放设置为非1920*1080和100%时,SelectionChanged事件响应问题分析?
系统在显示器分辨率和缩放设置为1920*1080和100%时,窗口四分格能正常响应SelectionChanged事件,但是当缩放为125%时,或是分辨率大于1920*1080时四分格其中一个格子的下侧和右侧点击不响应,什么原因? 描述的问题可能由以…...
刷题记录--算法--简单
第一题 2582. 递枕头 已解答 简单 相关标签 相关企业 提示 n 个人站成一排,按从 1 到 n 编号。 最初,排在队首的第一个人拿着一个枕头。每秒钟,拿着枕头的人会将枕头传递给队伍中的下一个人。一旦枕头到达队首或队尾,传递…...
条码生成器与Zint使用
文章目录 目的条形码zint支持条形码种类下载编译qt pro配置code保存条形码目的 1: 了解条形码数据理论知识 2: 了解zint第三方库相关, 如何编译引用到项目中 条形码 条形码(Barcode)一维码 和二维码(QR code)都是用于存储信息的图形化表示方式,通常应用于商品标识、库…...
C#winform上下班打卡系统Demo
C# winform上下班打卡系统Demo 系统效果如图所示 7个label控件(lblUsername、lblLoggedInEmployeeId、lab_IP、lblCheckOutTime、lblCheckInTime、lab_starttime、lab_endtime)、3个按钮、1个dataGridView控件、2个groupBox控件 C#代码实现 using System; using System.Dat…...
P1 Qt的认识及环境配置
目录 前言 01 下载Qt Creator windows下载安装包拷贝到Linux Linux直接下载 02 Linux 安装Qt 前言 🎬 个人主页:ChenPi 🐻推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ 🔥 推荐专栏2: 《Linux C应用编程(概念类…...
单元测试Nunit的几种断言
Nunit提供了一些辅助函数用于确定好某个被测试函数是否正常工作。通常把这些函数称为断言 断言是单元测试最基本的组成部分。因此,NUnit程序库以Assert类的静态方法的形式提供了不同形式的多种断言 1. Assert.AreEqual:比较两个值是否相等。用于比较数…...
前端中的响应式布局与各个端适配
什么是响应式布局? 响应式布局指的是同一页面在不同屏幕尺寸下有不同的布局。在移动互联网高度发达的今天,我们在桌面浏览器上开发的网页已经无法满足在移动设备上查看的需求。传统的开发方式是PC端开发一套页面,手机端再开发一套页面。但是…...
2023年5个自动化EDA库推荐
EDA或探索性数据分析是一项耗时的工作,但是由于EDA是不可避免的,所以Python出现了很多自动化库来减少执行分析所需的时间。EDA的主要目标不是制作花哨的图形或创建彩色的图形,而是获得对数据集的理解,并获得对变量之间的分布和相关…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
stm32wle5 lpuart DMA数据不接收
配置波特率9600时,需要使用外部低速晶振...
五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...
土建施工员考试:建筑施工技术重点知识有哪些?
《管理实务》是土建施工员考试中侧重实操应用与管理能力的科目,核心考查施工组织、质量安全、进度成本等现场管理要点。以下是结合考试大纲与高频考点整理的重点内容,附学习方向和应试技巧: 一、施工组织与进度管理 核心目标: 规…...
链式法则中 复合函数的推导路径 多变量“信息传递路径”
非常好,我们将之前关于偏导数链式法则中不能“约掉”偏导符号的问题,统一使用 二重复合函数: z f ( u ( x , y ) , v ( x , y ) ) \boxed{z f(u(x,y),\ v(x,y))} zf(u(x,y), v(x,y)) 来全面说明。我们会展示其全微分形式(偏导…...
