长生栈 长生栈
首页
  • 编程语言

    • C语言
    • C++
    • Java
    • Python
  • 数据结构和算法

    • 全排列算法实现
    • 动态规划算法
  • CMake
  • gitlab 安装和配置
  • docker快速搭建wordpress
  • electron+react开发和部署
  • Electron-创建你的应用程序
  • ImgUI编译环境
  • 搭建图集网站
  • 使用PlantUml画时序图
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Living Team

编程技术分享
首页
  • 编程语言

    • C语言
    • C++
    • Java
    • Python
  • 数据结构和算法

    • 全排列算法实现
    • 动态规划算法
  • CMake
  • gitlab 安装和配置
  • docker快速搭建wordpress
  • electron+react开发和部署
  • Electron-创建你的应用程序
  • ImgUI编译环境
  • 搭建图集网站
  • 使用PlantUml画时序图
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Cmake 基本使用
  • Linux和Windows常用命令对比
  • Nginx的使用方法
  • Bash常用语法
    • 变量
    • 循环
    • 数学运算
    • awk
    • 数值判断
    • grep
    • bash脚本传参
  • 使用PlantUml画时序图
  • 使用PlantUML画类图
  • 编译工具链
  • gcc工具的概述和使用
  • 自动化构建工具——Make/Makefile
  • 使用开源AI模型Whisper为视频生成字幕
  • MySQL基础操作
  • 工具
DC Wang
2022-12-31
目录

Bash常用语法

# 变量

i=123
echo $i
echo ${i}
1
2
3

# 循环

for((i=0;i<10;i++))
do
	echo $i
done

0
1
2
...
1
2
3
4
5
6
7
8
9

# 数学运算

  1. 代码中的 [] 执行基本的算数运算
#!/bin/bash

a=5
b=6

result=$[a+b] # 注意等号两边不能有空格
echo "result 为: $result"
1
2
3
4
5
6
7
  1. let i=$i+1, let后的语句不能有空格.
i=1
let i=$i+1
echo $i

2
1
2
3
4
5

# awk

awk功能是分割字符串,
一个常用例子是以#为分割符,获取第二部分内容.

str=123#456
echo str|awk -F "#" '{print $2}'

456
1
2
3
4

其中|是管道,管道可以使我们多个命令一起使用,他的作用是将前一个命令的标准输出作为后一个命令的标准输入.

# 数值判断

num=12
if [ $num -lt 10 ];then
    echo $num"<10"
elif [ $num -lt 13 ];then
    echo "10<="$num"<13"
else
    echo $num">=13"
fi
1
2
3
4
5
6
7
8

# grep

grep是逐行查找字符串的工具,经常使用正则表达式来匹配字符串.也可以和awk联合使用筛选字符串.
示例:

# 从abc.txt中使用正则比表达式逐行匹配包含数字123的行,符合条件的输出到屏幕
grep -iE ".*123" abc.txt
# 从dir目录下递归查找符合条件的行并输出对应的行号和内容
grep -rnE ".*123" dir

-i 忽略大小写
-E 使用正则表达式匹配
-r 递归匹配
-n 显示行号
1
2
3
4
5
6
7
8
9

# bash脚本传参

echo "Shell 传递参数实例!";
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";
1
2
3
4
5
参数处理 说明
$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数。
如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$$ 脚本运行的当前进程ID号
$! 后台运行的最后一个进程的ID号
$@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。
如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$- 显示Shell使用的当前选项,与set命令 (opens new window)
功能相同。
$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
编辑 (opens new window)
上次更新: 2023/02/16, 22:15:06
Nginx的使用方法
使用PlantUml画时序图

← Nginx的使用方法 使用PlantUml画时序图→

最近更新
01
ESP32-网络摄像头方案
06-14
02
ESP32-PWM驱动SG90舵机
06-14
03
ESP32-实时操作系统freertos
06-14
更多文章>
Theme by Vdoing | Copyright © 2019-2025 DC Wang All right reserved | 辽公网安备 21021102001125号 | 吉ICP备20001966号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式