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

[Linux] shell脚本 - 实践

一、shell简介

脚本是一个文本文件,需要解释器(bash)

脚本后缀 test.sh 表示,也可以不需要

shell, python需要解释器:bash, tcsh sh, python解释执行
c, c++xx.c 编译链接---二进制可执行程序xx编译型
javaxx.java---javac编译----xx.class二进制不可执行---必须java解释器(虚拟机)java.exe---java.exe.xx.class编译解释

which bash

/usr/bin/bash

二、shell语法:变量,条件,循环,case,函数,脚本调用,c语言调用,awk,sed

1.变量

——shell中的变量的定义和值在解释器中,没有类型

——删除 unset

本地变量:用户自定义。

环境变量:

从父进程bash中继承。 添加环境变量:export

$PS1,$PS2:提示符

$0:shell脚本的名字

$#:传递给脚本参数的个数

$$:shell脚本的进程号

参数变量

$1, $2, ... 脚本程序的参数

运行 a.sh

1. bash a.sh

2. chmod u+x a.sh

2.条件

test条件类型:

if

3.循环

for

算术运算:

while

until

4.case

5.函数

——shell当中没有唯一主函数main()的要求

函数中定义的变量,在函数结束后,仍然能够调用,因为变量是在解释器中定义的。

函数调用:

传参:

6.脚本调用:

脚本调用:

1.普通调用

2. 以 . 命令执行,把脚本放在当前解释器中执行:

不同脚本变量调用

1.调用时 向b.sh传参:

2.做成环境变量(环境变量可以继承)

7. c语言调用shell脚本 exec

8.awk: 文本处理工具

格式化报文或从一个大的文本文件中抽取数据包

awk [-F field-separator] 'commmands' input-fils(s)

[-F field-separator] 分隔符,空格则省略

基本语法:awk 'pattern {action}' file

pattern: 匹配文本模式(正则表达式,数字或其他条件)。action: 当前模式匹配成功时执行的动作(打印,修改等)。file: 要处理的记录。

1.在命令行中awk。将小数转化为整数:

2.在脚本中awk。

应用举例:

9.sed

一个非交互性文本流编辑器,它编辑文件或标准输入到处的文本拷贝。就是sed

应用举例:

10.grep

11.sort

对文件内容进行排序。将许多不同域按不同的列顺序分类。

顺序排列:

逆序排列

12.uniq

用于重复行。通常与sort一起使用,先排序后去重。

http://www.gsyq.cn/news/7775.html

相关文章:

  • 2025年- H146-Lc459. 重复的子字符串(字符串)--Java版 - 实践
  • mssql创建字段依赖
  • SVG动画优化全攻略:从设计到性能提升
  • MX 练石 2026 NOIP #7
  • 多元积性函数
  • OpenCvSharp基于颜色反差规避FBA面单贴标
  • Torrent File Editor 1.0.0
  • US$49 Multi-languages Smart Zed-Bull With Mini Type No Tokens Needed
  • AI CodeReview + Devops协同
  • 【API接口】最新可用IP地址查询接口
  • 磁盘分析工具推荐(Wiztree)
  • Markbook Day03
  • 数组,java学习第五天
  • U3D动作游戏开发读书笔记--3.1 物理系统详解(上)
  • US$198 Auxiliary Heater Diagnostic Unit for Eberspacher 12V/24V Systems
  • 20250918 之所思 - 人生如梦
  • 用 Go 语言与 Tesseract OCR 实现英文数字验证码识别
  • lc1031-两个非重叠子数组的最大和
  • 我对 WPF 动摇时的选择:.NET Framework 4.6.2+WPF+Islands+UWP+CompostionApi - 行人-
  • US$1198 Xhorse VVDI2 BMW Version With Basic+BMW OBD+BMW CAS4+BMW FEM/BDC
  • 什么情况下需要用到xargs
  • Office 2024安装包专业增强版超详细下载安装教程
  • 关于 pdfminer 的安装 - 指南
  • EF Core 与 MySQL:日志和调试详解
  • 使用镜像源解决github拉取代码问题 - GD
  • 类和面向对象
  • mac更新or安装homebrew失败
  • 微信小程序实现-单选-以及全选功能。 - 教程
  • Typescript中闭包的原理 - 教程
  • Hadoop本地库加载问题分析与解决方案