bash和命令

与bash 交互几乎是每个程序员必备的技能,有时候难免会碰到bash脚本,这时候可能会看不懂,其实很简单,简单记录下

#!

#! 的含义是告诉脚本处理器这是一个脚本,后面跟着的就是处理这个脚本的终端,如/bin/bash

换行与写入文件

在代码中我们换行只需要\n即可,但在bash脚本中,需要在命令前面➕一个-e,如

bash 复制代码
echo -e "\n"

如果我们需要根据查找出来的值写入新的文件会用到>>>,它们的区别如下:

bash 复制代码
# > 写入会覆盖文件之前的内容重新写入
# >> 只会在文件后面追加内容

变量与返回值

这个和我们在其他语言的定义中差不多,在定义变量时,将常量赋值给某些变量名

bash 复制代码
# 定义变量
LOG_DIR = "/Users/hao/nacos/logs"
APP_FILE = "nacos.log"

# 返回值:它的意思是查找在特定目录下一天内产生的日志文件
LOG_FILES = $(find . -name "*.log" -mtime -1)

数组

数组可以将同一类型的数据组合在一起,方便我们批量调用和处理。下面是数组的格式:

bash 复制代码
ERROR_PATTERNS = ("ERROR" "FATAL" "CRITICAL")
# 之后调用的时候这样
"${ERROR_PATTERNS[0]}"

循环与判断

for循环格式是:for...in...; do...done

if判断的格式是:if [...]; then ... fi

bash 复制代码
for LOG_FILE in $LOG_FILES; do
	# TODO
done

if ["$XXX_XXX" -gt 10]; then
	# TODO
fi
相关推荐
叼烟扛炮20 小时前
C++第一讲:C++ 入门基础
开发语言·c++·函数重载·引用·内联函数·nullptr
Ulyanov20 小时前
《现代 Python 桌面应用架构实战:PySide6 + QML 从入门到工程化》:QML 声明式语法与霓虹按钮 —— 当 Python 遇见现代美学
开发语言·python·ui·qml·系统仿真·雷达电子对抗仿真
弹不出的5h3ll20 小时前
Ghost Bits:高位截断如何让 Java WAF 形同虚设
java·开发语言
码界筑梦坊20 小时前
113-基于Python的国际超市电商销售数据可视化分析系统
开发语言·python·信息可视化·毕业设计·fastapi
memories19820 小时前
Go 语言 Channel(管道/通道)
开发语言·后端·golang
初心未改HD20 小时前
Go语言结构体Struct:内存布局、标签、接收者与内存对齐
开发语言·golang
lsx20240620 小时前
JavaScript 类
开发语言
专科3年的修炼21 小时前
uni-app移动应用开发第四章
开发语言·javascript·uni-app
码界筑梦坊21 小时前
114-基于Python的1688电脑硬件数据可视化分析系统
开发语言·python·信息可视化·数据分析·毕业设计·echarts·数据可视化
DXM052121 小时前
第2期:0配置!10分钟搭建ArcGIS Python开发环境(无需装VS)
开发语言·人工智能·python·arcgis·arcgis自动化