【shell脚本个人随笔记录】

Android Studio 运行shell 脚本踩坑记录 这几天拿到了一款以前开发完成的项目,是音箱的项目,很有意思,然后就开始尝试看看。sdk打包是用shell脚本写的,对于没有接触过shell的菜鸡来说。跑个 打包的shell都很费劲,记录一下坑和解决办法。 忽略某个文件 在 app -> build 下 packagingOptions { exclude 'notice.html' } shell脚本是以 .sh 结尾的文件... 阅读详情
1、编写一个shell脚本,当运行这个脚本的时候,会依次读取给予参数,然后运行。
  • 1、shell脚本叫mul_param.sh

  • 2、读取的数据放在一个txt文件里

    • txt 文件里参数是 a|pass ,b|fail这种样式,我们要的入参就是|这个符号前面的a和b
  • 3、每次读取的参数,通过xfu.sh 这个文件调用

  • 4、把每次运行打印的结果保存在一个文件里。

#!/bin/bash  


# 定义文件名  
name_01="ccc.txt"  

# 使用grep和awk提取包含"pass"的行,并打印第一个由'|'分隔的字段  
is_pass() {  
    local file_name="$1"  
    grep "|pass" "$file_name" | awk -F'|' '{print $1}'  
}

cat $name_01 | grep "pass|"  >> 123.txt     
echo '--------------------------------------' >> 123.txt



# 调用is_pass函数,并将结果逐行传递给xfu.sh脚本     
line_list=$(is_pass "  $name_01")   
echo line_list_is  $line_list   
for line in $line_list; do   
   # echo $line   
    # 假设xfu.sh在当前目录下   
    ./xfu.sh "$line"   
    # 检查上一个命令的返回值,如果非0则输出错误并退出   
    if [ $? -ne 0 ]; then   
        echo "Error executing xfu.sh with argument: $line"


        exit 1 
    fi
done 

# 脚本执行完成      
exit 0 
shell 常用

1、test if test a -lt b ; then 可以测试1、数值比较, 2、字符串比较 3、文件比较
数值比较是:e是等于 ,t 是不等于 。 g是大于, l是小于。 这两组可以匹配可以匹配。 n是不等于。

字符串比较是: = != < > -n(不为零为真) -z(为零为真)

文件比较是:-d ( 存在且是目录) -e ( 存在目录和文件都可以 ) -f( 存在且为文件) -r -w (存在,可读 ,可写) -s(存在且非空) -x(存在且可以执行)

file1 -nt file2 (文件1比文件2新) file1 -ot file2(文件1比文件2旧)

2、[ ] 是 代替test的,在if 语句中 ,可以不用写 test. if [ a -lt b ] , 注意点是,第一个括号之后, 和最后一个括号之前需要
有空格,否则会报错,比如[a-let b ]. [ ] 里可以使用简单的通配符。 比如 * 可以匹配零个或多个字符。 ?是单个字符
可以使用 [ condition1 ] || [ condition2 ] 来判断,

3、( ) 单括号, 单括号在执行前, 会创建一个子shell, 然后在里面执行命令, 成功则返回 状态码 0 . 只要进程中最后一个进程成功
则状态码是 0, 即使前面的进程是失败的。
$( )可以把命令的结果赋值给变量。

4、 (( expression )) 双括号,test命令使用的标准数学运算符,可以用在 if语句后, 也可以在脚本中的普通命令。 if (()); then (());fi;
双括号里可以直接用 i++, i–, ++i, --i, ! , **(幂运算) ,<< 左位移 >> 右位移, && 逻辑AND || 逻辑OR , & 布尔AND .

5 、[[ expression ]] 双方括号,可以使用test命令中,标准字符串比较。 还多加了 模式匹配, 即可以用通配符和正则表达式来匹配字符串。

6、(()) 用于执行数学运算,意思就是在里面是执行一个数学运算, 但是这个运算的结果并没有返回。
所以要想把结果赋值给别的变量需要 加上$ ,即var2=((var1−1)),如果是自减,可以var1=((var1-1 )), 如果是自减 , 可以 var1=((var1−1)),如果是自减,可以var1=((var1-1)) 或者 ((var1–))
如果给别人可以 result=$((var1-1)),

Linux里的Shell脚本基础:编写简单的Shell脚本 Shell脚本是由一系列Shell命令组成的文件。Shell是一个命令解释器,它提供了用户与操作系统之间的接口。常见的Shell有Bash(Bourne Again Shell)、Zsh、Ksh等。其中,Bash是最常用的Shell。Shell脚本是一种强大的工具,可以帮助用户自动化日常任务,提高工作效率。通过本文的介绍,您应该已经掌握了Shell脚本的基础知识,并能够编写简单的Shell脚本。希望本文能对您有所帮助,欢迎在优快云上分享您的Shell脚本经验和心得。 阅读详情

相关推荐

通过Shell脚本执行PHP脚本的全面指南

Linux操作系统拥有强大的Shell环境,它是用户与Linux内核之间的桥梁。Shell不仅仅是一个命令行解释器,还是一种脚本语言,可以用来自动化执行常见的任务和管理Linux系统。在本文中,我们将探究Shell的基础知识,以及如何高效地利用Shell脚本来自动化执行任务。Shell脚本通常用来自动化管理任务,如文件操作、系统监控、网络配置等,它可以极大地提高工作效率,特别是在需要执行重复性工作的场景中。

weixin_36149538的博客 923

Linux下shell脚本实现记录日志

Linux下shell脚本实现记录日志   最近写了shell脚本,有个基于jacoco调用的从指定Tomcat中自动生成覆盖报告文件到指定的Nginx目录中的脚本,Tomcat下有多个项目,这个脚本是后台跑的,而且是开了定时任务跑的。想着记录一些日志,方便知道脚本的运行状态,也方便排查。 shell记录日志的代码 #!/bin/bash #定义日志的根目录 logDir=/var/log/ ec...

莫负时光 1万+

SIwave仿真手册——电源完整性仿真之PDN阻抗的提取(四)

(想不到我这个弱鸡的博主有一天也有被催更的时候,看到后台被催的消息,我慌了,赶紧写一篇把。) 文章目录3.1 PDN阻抗的提取3.1.1手动完成PDN阻抗的提取1、创建pin group2、创建端口3、数据文件的清理和检查(参考1.3.4&1.3.5)4、添加电容模型(参考2.2.1)(==这一步很重要==)5、开始仿真6、查看仿真结果3.1.2利用向导工具完成PDN阻抗的提取1、点击图标![在这里插入图片描述](https://img-blog.csdnimg.cn/36d974339ea5449

luohuo9844的博客 1万+

个人shell脚本分享

SRC=“/path/to/source” # 源目录BKUP=“/backup” # 备份主目录FUL=“KaTeX parse error: Expected 'EOF', got '#' at position 22: …ull" #̲ 完全备份目录INC="BKUP/inc” # 增量备份目录DATE=$(date +%Y%m%d%H%M%S) # 当前日期时间。

gsdgdg00的博客 994

手把手教你用ESP32驱动MAX30102心率血氧传感器(含完整代码)

本文详细介绍了如何使用ESP32微控制器驱动MAX30102心率血氧传感器,构建智能健康监测系统。内容涵盖PPG原理、硬件连接、驱动配置、信号处理算法以及Web服务器数据可视化,提供完整代码实现,帮助开发者快速上手物联网健康设备开发。

weixin_29208077的博客 586

从零配置ORB-SLAM3:TUM-VI数据集yaml文件参数调优指南

本文深入解析了ORB-SLAM3在TUM-VI数据集上的yaml配置文件参数调优方法。针对双目惯性模式,详细拆解了相机标定、IMU噪声模型和ORB特征提取三大模块的关键参数,解释了其原理与影响,并通过实战案例展示了如何通过调整特征点数量、FAST阈值及IMU噪声参数,有效提升系统在低纹理环境下的鲁棒性和轨迹精度。

weixin_29071809的博客 151

shell脚本记录

运行shell脚本需要先修改文件的权限,因为一开始我们创建的shell只是一个很普通的文本文件,无法执行shell命令,这里直接使用chmod 777来提高权限。可以使用上面的命令来统计数字,$#表示所有数,$@枚举输入的每个数,$1,$2这样的表示第一个和第二个,以此类推。可以用test命令来查看文件是否存在,编写如下脚本使用test -e来判断当前路径下是存在对应的文件。可以理解为linux里面的一种自动化命令,一般可以用于自动化的执行一些命令。也可以使用if,elif,else这样的结构。

时时总结,常常分享 2342

双足步行机器人的ZMP与CoP检测

静态步行与动态步行   机器人步态分为静态步行和动态步行。当机器人做静态步行运动时,身体的各个部分运动速度很小,机器人的整体稳定性较易控制。静态步行稳定性采用机器人的重心地面投影点(Center of Gravity,简称CoG)作为稳定性标准,这种判定方法适用于运动较为缓慢的情况。如果机器人采用的是一种高速运动的步行方式,则称之为动态步行。当机器人进行动态步行时,其重心的位置和加速度的大小时...

weixin_34112208的博客 5906

shell脚本统计文件的记录条数

公司每个月末,都会进行巡回检查,检查服务器程序的执行情况,服务器的运行情况,包括应出账和实际出账的数目是否相等。这个时候就需要统计用户订购了多少条数,用户订购的条数就是应该出的账单的条数,所以需要写个小程序统计所有账单的条数总和,进行比较,来发现计费问题。当然有个出账条数都会入到数据库进行备份,方便客户查询和对账。于是写了个简单的SHELL脚本,源代码如下: #/usr/bin/csh #第一

青皮虾的专栏 2540

RH850从0搭建Autosar开发环境【1】- 如何创建Davinci Configurator配置工程

当我们在公司接触Autosar开发环境时,基本都是完整的Davinci Configurator的配置工程,我们只能修修补补。 从本章开始将手把手搭建Rh850基于Vector公司Davinci Configurator的autosar配置工程。主要涉及到OS,COM,DCMM,NVM,BSWM,ECUM等基本模块,包括Vlink,memap使用,XCP标定的实现等。基本是实现一个基础版的项目开发。包括后期的GreenHills编译问题处理,生成最终的Hex文件。

weixin_42412049的博客 1万+

ADBMS1818芯片

 可测量多达18串电池电压 3 mV最大总测量误差 内置isoSPI接口 使用单根双绞线,长达100米 290 μs内可完成系统中所有单体电池电压测量。

m0_61973119的博客 4270

shell基础脚本命令记录

关于 Shell Script也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。 shell script是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,然后用正规表示法,管道命令以及数据流重导向等功能,以达到我们所想要的处理目的。 shell script更是提供了数组,循环,条件以及逻

weixin_44258964的博客 9060

【CAN总线测试】——通讯相关诊断测试

本章主要介绍通讯相关诊断测试用例设计

LOVE135149的博客 1813

如何优雅地记录Shell脚本的执行日志

在日常的Shell脚本开发中,我们经常需要运行脚本来监测系统数据。虽然能够通过控制台实时查看这些数据,但盯着屏幕看总是让人感到无聊且耗费时间。那么,有没有一种方式能够让我们在执行脚本时自动记录运行日志,方便后续分析呢?今天我们就来聊聊如何通过一个简单的日志记录函数来实现这一目标。需求分析:把日志搞得明明白白我们需要一个功能强大的日志函数,能够实现以下几个目标:1. 记录脚本的运行情况:这包括脚本输...

fastboot 1362

AutoSAR系列讲解(入门篇)2.4-Runnables可运行实体

讲解一下Runnable和其工程的实际映射

雪云飞星的博客 3万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

简单的Shell脚本

Shell 是一个C 语言编写的脚本语言,它是用户与Linux的桥梁,用户输入命令交给 Shell 处理。Shell 将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户。shell编程通常指的是学习shell命令语法后,利用这套语法开发脚本程序,操作、访问内核服务。而不是使用C语言去编写一个shell程序。

m0_70882914的博客 1297

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

执行 SHELL 脚本的几种方式

本文内容基于bashshell。

kaiyuanheshang的博客 3774

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

shell 脚本总结

一、SHELL脚本是什么?它是必需的吗?   一个SHELL脚本就是一个文本文件,它包含一个或多个命令。系统管理员会经常需要使用多个命令来完成一项任务,此时可以添加这些所有命令在一个文本文件(SHELL脚本)中来完成这些日常工作任务。 二、可以在SHELL脚本中使用哪些类型的变量?   在SHELL脚本,可以使用两种类型的变量:系统变量和用户变量:  系统变量是由系统自己创建的。这些变...

小麦粒的Python 941

shell脚本

Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。这种对话方式可是交互也可以是非交互式的,我们所输入的命令计算机是不识别的,这时就需要一种程序来帮助我们进行翻译,变成计算机能识别的二进制程序,同时又把计算机生成的结果返回给我们。重定向的意思就是 ,不输出到默认设备上,输出到你指定的位置(文件 其他输出设备)类型 操作符 用途重定向输入。

2201_75549363的博客 1531

【shell】shell是什么,shell脚本又是什么?

shell基础及shell脚本基础1. shell是什么?1.1 shell简介2.1 shell的种类2. shell的使用2.1 bash shell特点2.2 shell变量2.2.1 环境变量系统级环境变量用户级环境变量常见的环境变量预定义变量2.2.2 自定义变量局部变量全局变量脚本执行过程中输入变量3. shell脚本3.1 流程控制3.1.1 if语句3.1.2 case语句3.1.3 for循环3.1.4 while语句3.1.5 until语句3.2 条件测试3.2.1 文件判断3.2.2

weixin_45629044的博客 4183

shell脚本之工具

        在学习了shell脚本的基本语法,命令,符号之后,接下来要看的就是shell脚本使用的所有工具了。        在shell脚本中,工具的使用简化了所要编写的代码。接下来就介绍几个shell下经常使用的工具。     1、sort    sort工具的常用语法就是将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,默认是升序。    sor...

叶梓梓的博客分享 2万+

Shell脚本

命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。中间不能有空格,可以使用下划线(_)。不能使用标点符号。不能使用bash里的关键字(可用help命令查看保留关键字)myname='galley' #单引号,字符串类型,不解析任何字符courses="abcdefg" #双引号,内部会解析$和反斜杠特殊字符sum=100;price=1.2544 #如果是数字,可以不加引号now_date=`date` #反引号执行系统命令。

guo_qingxia的博客 1112

shell 脚本学习之记录二

文章目录:一、Linux 变量的使用及状态码二、 echo 注意点三、重定向输入和输出② 输出重定向分为步骤:③ 输入重定向四、数学运算符 expr 命令状态码:“2”代表一般性未知错误。(诡异性报错)要解决这个问题,对于那些容易被shell错误解释的字符,在它们传入expr命令之前,需要使用shell的转义字符(反斜线)将其标出来。五、数学运算符变量六、浮点数解决方案到目前为止,脚本中的命令都是按照有序的方式一个接着一个处理的。在下章中,你将学习如何用一些逻辑流程控制来更改命令的执行次序。 【转载注明

禧年 570

linux学习记录:shell脚本

shell脚本 这是本人在学习shell脚本时的记录,方便日后查询。 里面会记录一些自己写的shell脚本,都是在实习中用到的。由此这篇笔记的内容也会不断扩充,也算是记录一下心路历程。 默认使用解释器/bin/bash 目录shell脚本零、shell基础一、变量1. 基础2. 各种变量 零、shell基础   通过命令cat /etc/shells可以查看当前系统支持的解释器。如下图,可以看到这个系统支持解释器sh和bash。可以直接执行解释器文件来进入新的shell命令行,相当于套娃,并可以输入命

这里是河边 645

sh文件、shell、shell脚本、bat文件、bat脚本

综述:对于各个系统不太理解,这几个文件在日常的工作,记录下加深认识 1.shell(壳) shell是一个shell脚本解释器,是一个运行在Linux系统下的批处理脚本解释器,通过这个窗口建立用户和Linux系统底层提供的一系列方法的交互; .sh就是一种运行在Linux系统下的文件,文件中存储的shell脚本; 2.batch(批处理) 个人理解,batch和shell类似,只不过...

我的博客 7802

Linux 编写shell脚本记录操作用户日志信息

Linux记录用户操作日志,shell脚本

G925010178的博客 2572
上一篇: 【python正则表达式】
下一篇: Linux,shell ,gun基本概念和关系
十二月将至
博客等级 码龄8年 378粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值