一、最基本的语法
- job :流水线中作业
- script:执行的shell命令
- before_script:执行script之前执行
- after_script:在执行script之后执行
- stages:声明步骤,决定了流水线顺序
- stage:指明当前作业属于哪个步骤
- variables: 定义变量
- cache:缓存是作业下载并保存的一个或多个文件。使用相同缓存的后续作业不必再次下载文件,因此执行速度更快。
shell脚本语言
条件判断(if)
需要特别注意:[ "2" == "2" ] 其中的"=="两边都有空格,不能省略,否则结果不正确。 \
判断普通文件是否存在
if [ -f "1.sh" ]; then # 判断一个普通文件是否存在
echo "1.sh 存在"
fi
判断目录是否存在
if [ -d "1.sh" ]; then # 判断一个目录是否存在
echo "1.sh 存在"
fi
mkdir, 创建文件夹。
mkdir命令用于创建文件夹。如果文件夹已存在,则不能创建,命令执行失败。
语法:
mkdir [OPTION]... DIRECTORY...
关于记号的说明:当一个命令的描述中的参数后面有三个句号时,意味着该参数可以重复。
所以mkdir命令后面可以接多个参数,也可以接多个文件夹。
比如:
$ mkdir -p -v dir1 dir2
cp
cp即copy,有以下三种用法:
格式为:cp [参数] A B
1.如果A为目录,则必须加上-r参数,表示递归把A目录下的所有目录文件递归地拷贝到B目录下。
该种用法依赖于B目录是否存在。如果B目录没有,则新创建B并将A目录下的文件复制到B目录下,如果B目录有,则把A目录复制到B目录下,即被拷贝的A目录编程了B的子目录。
2.如果A和B都是单个文件,那么就是把A文件内容复制为B,如果B已经存在了则直接覆盖。
3.如果A为多个文件,则B一定得为目录,且存在。将A目录下的文件复制到B目录下。附件如果已经在B下有了,直接覆盖。