make
makefile是make读入的唯一配置文件
在一个makefile中通常包含
a. 由make创建的目标体(target),通常是目标文件或可执行文件(终极目标,第一个目标)
b. 要创建的目标的依赖文件 创建每个目标体时需要的运行命令 必须以制表符(tab键开头)
(.PHONY:clean)声明clean伪目标,可省略
(伪目标没有依赖,也不被依赖)
make clean 执行伪目标 (若声明省略,有重名,执行科执行文件)未省略,执行伪目标
make 默认寻找 makefile(Makefile)
若无这两个变量 用 make -f 文件名 寻找
使用变量:
obj=main.o func1.o func2.o(=前后无空格,留则报错)
hello:$(obj)
(tab) gcc $(obj)-o hello
$^:代表所有依赖文件
$@:代表目标
$<:代表第一个依赖文件
hello:hello.c 可加# #后为注释
(tab)@gcc hello.c -o hello(@取消在终端上显示此命令)
makefile中多工程文件模板格式套用:
1.cilent(可执行文件)名称可被修改;
2.scripts–>Makefile–>target:终极目标,Modules:源文件目录
3.删除 其他的源文件目录只保留main, 替换里面的main.c 并删掉main.o;
4.include–>myhead.h 里替换成要调用的函数
5.main.c里面 要添加一条路径 #include“…/…/include/myhead.h”;
6.在cilent里面创建所需要的源文件 并在每个源文件目录下粘贴main里的Makefile ,在每个里面还要创建src并放入所需要的.c文件。
shell 脚本
程序必须以下面的行开始(必须放在文件的第一行)
- #!/bin/sh bin为shell的版本
#!(沙棒)用来声明后面参数用来执行文件
2.chmod + x filename x为权限
3…/filename 来执行脚本
$ 取出变量值 如&a
赋值 变量名=值 “=”两边不能有空格
num=2
echo"this is the ${num}nd" " ”中为字符串常量
输出 “this is the 2nd”
$#:传入脚本的命令行参数个数
$*所有命令行参数的值,在各个参数值间有空格
$o 命令本身(shell文件名)
$1 第一个命令行参数
$2 第二个命令行参数
比较ab 是否相等 if [ $a = $b ]