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
相关推荐
SomeB1oody2 分钟前
【RustyML入门】5.2. 分类指标
开发语言·后端·机器学习·rust·教程
ZJU_统一阿萨姆20 分钟前
【推理优化进阶】图编译与运行时:动态形状、CUDA Graph 与内存规划
开发语言·人工智能·语言模型·架构·开源
@呱呱爱学习21 分钟前
C++大成之路_ STL容器_ Vector
开发语言·c++
码匠许师傅39 分钟前
【C++ 面试真题】19. 聊聊 C++ 的迭代器
开发语言·c++·面试
AI情绪识别开源42 分钟前
检信ALLEMOTION VibrationAI 2.4.0 12维度情绪识别开源源代码
开发语言·python
Dovis(誓平步青云)44 分钟前
DevEco Studio 6.1.1 Windows 安装实录:从下载校验到首次启动
android·开发语言·数据库·人工智能·windows·harmonyos
qeen871 小时前
【数据结构】红黑树的算法原理解析与实现
开发语言·数据结构·c++·算法·红黑树
Logintern092 小时前
什么时候应该用多进程什么时候用多线程呢?
开发语言·python
long3162 小时前
枚举(Enums)
java·开发语言·数据库
ShiXZ2132 小时前
网络调试四剑客:ping / telnet / nc / netstat 速查指令集
运维·开发语言·网络·php