目录
一.Make file 规则格式
Make file 里面是由一系列规则组成的,例如
目标···...:依赖文件集合......
命令1
命令2
......
例如:
main:main.o input.o calcu.o
gcc -o main main.o input.o calcu.o
二.什么是shall脚本
shall脚本类似windows 的批处理文件,shall脚本就是将连续的命令写成一个文件,shall脚本提供数组,循环,条件判断等功能,shall脚本一般Linux运维或者系统管理员要掌握,作为嵌入式开发人员,只需要掌握shall最基础的部分即可。
三.shell 脚本写法
shall脚本是一种纯文本文件,命令从上而下,一行一行的开始执行,shell脚本扩展名为.sh shell脚本第一行一定要为:
#!/bin/bash
表示使用 bash
四.shell 脚本语法
(1)第一个shell 脚本:
编写:
执行:
(2)交互式shell脚本
编写:
运行:
-a:将分裂后的字段依次存储到指定的数组中,存储的起始位置从数组的index=0开始。
-d:指定读取行的结束符号。默认结束符号为换行符。
-n:限制读取N个字符就自动结束读取,如果没有读满N个字符就按下回车或遇到换行符,则也会结束读取。
-N:严格要求读满N个字符才自动结束读取,即使中途按下了回车或遇到了换行符也不结束。其中换行符或回车算一个字符。
-p:给出提示符。默认不支持"\n"换行,要换行需要特殊处理,见下文示例。例如,"-p 请输入年龄,身高:"
-r:禁止反斜线的转义功能。这意味着"\"会变成文本的一部分。
-s:静默模式。输入的内容不会回显在屏幕上。
-t:给出超时时间,在达到超时时间时,read退出并返回错误。也就是说不会读取任何内容,即使已经输入了一部分。
-u:从给定文件描述符(fd=N)中读取数据。
(3)shell 脚本的数值计算
shell 仅支持整型,数值计算使用 $((表达式))
编写:
运行:
(4)test 命令
test命令用于查看文件是否存在,权限等信息,可以进行数值,字符,文件三方面的测试
&&和||命令:
cmd1 && cmd2 当cmd1执行完毕且正确,那么cmd2开始执行,如果cmd1执行错误聪cmd2不执行
cmd1||cmd2 当cmd1执行完毕且正确,那么cmd2不执行,反之cmd2执行
数值测试:
-eq | 等于则为真 |
-ne | 不等于则为真 |
-gt | 大于则为真 |
-ge | 大于等于则为真 |
-lt | 小于则为真 |
-le | 小于等于则为真 |
num1=100 num2=100
if test $[num1] -eq $[num2]
then
echo 'The two numbers are equal!'
else
echo 'The two numbers are not equal!'
fi
输出:
The two numbers are equal!
(5)中括号【】判断符
【】与test 相似 【】中只能输入== 或者!=
例如
["$firststr" == "$secondstr"] && echo"firststr == secondstr" || echo "firststtr !=secondstr"
(6)默认变量
$0~$n,表示shell脚本的参数,包括shell脚本命令本身,shell脚本命令本身为$
$#: #表示最后一个参数符号
$@: 表示$1,$2,$3......
#!/bin/bash
echon "file name:" $0 //shell 脚本名字
echo "total param num:" $# //有多少个参数
echo "whole param" $@ //整个参数的内容
echo "first param:" $1
echo "second param:" $2
运行: