1. 获取特定的目录

提取特定目录

现有一些文件路径,例如:

  • “/home/user/project/src/main/java/com/example/demo/DemoApplication.java”
  • “/home/user/project/src/main/cpp/com/example/demo/DemoApplicationTests.cpp”
  • “/home/user/project/src/main/c/com/example/demo/controller/DemoController.c”

需要提取出java,cpp,c这个子目录。

1
2
3
4
5
6
#!/bin/bash
path="/home/user/project/src/main/java/com/example/demo/DemoApplication.java"
target_dir="${path#*/main/}" # 移除“main/”及之前的部分
desired_dir="${target_dir%%/*}" # 取得剩余字符串中的第一个目录名
echo "$desired_dir"
> java

可以用于处理测试报告,提取出java,cpp,c这三个子目录。

2. 定制log颜色

编译脚本执行完毕以后,输出的log信息默认是和终端颜色一致的,无法快速帮助我们获取特定信息,那么就可以通过颜色来区分不同类型的log信息。

1
2
3
4
5
6
7
8
#!/bin/bash

# ANSI转义码颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color

echo -e "${RED} not convert success !${NC}"