课堂笔记五之嵌入式Linux开发工具

嵌入式Linux开发工具

一、嵌入式Linux开发工具-gdb、make
学习目标:了解gdb
学习目标:编写makefile(.c——>.o)——Linux内核——makefile
总控Makefile、功能目录Makefile、scripts的Makefile
自动生成:Cmake、autotool
课堂笔记五之嵌入式Linux开发工具_第1张图片
课堂笔记五之嵌入式Linux开发工具_第2张图片
课堂笔记五之嵌入式Linux开发工具_第3张图片
课堂笔记五之嵌入式Linux开发工具_第4张图片
课堂笔记五之嵌入式Linux开发工具_第5张图片

二、脚本语言:shell(脚本:批处理)(嵌入式系统开发——系统移植)(Linux系统运维工程师)
1、shell简介
(1)什么是shell?
1)命令解析器(将用户输入的命令解析,调用相应的命令的可执行文件)
2)脚本语言
课堂笔记五之嵌入式Linux开发工具_第6张图片
在这里插入图片描述
在这里插入图片描述
(2 )shell的种类有哪些?
1)Bourne shell(sh)
2)Korn shell(ksh)
3)Bourne Again shell(bash)
4)C shell(包括csh and tcsh)
5)TENEX/TOPS C shell(tcsh)
课堂笔记五之嵌入式Linux开发工具_第7张图片

2、shell的基本语法
(1)如何编辑,执行shell脚本程序?
程序基础:
程序必须以下面的行开始(必须方在文件的第一行):
#!/bin/sh
#!用来告诉系统它后面的参数是用来执行该文件的程序。
要使脚本可执行:
chmod +x filename
然后,您可以通过输入: ./filename 来执行您的脚本
怎么样运行Shell脚本?
bash /data/shell/hello.sh
sh /data/shell/hello.sh #sh -> bash
chmod a+x /data/shell/hello.sh
/data/shell/hello.sh #具有执行权限
课堂笔记五之嵌入式Linux开发工具_第8张图片
(2)定义变量(默认变量,局部变量,自定义变量)
1)变量
在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:
变量名=值
取出变量值可以加一个美元符号($)在变量前面
注意:
变量赋值时,“=”两边都不能有空格
BASH中的语句结尾不需要分号
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
课堂笔记五之嵌入式Linux开发工具_第9张图片
课堂笔记五之嵌入式Linux开发工具_第10张图片

2)默认变量
$#:传入脚本的命令行参数个数
$*:所有命令行参数值,在各个参数值间留有空格
$0:命令本身(shell文件名)
$1:第一个命令行参数
$2:第二个命令行参数
3)局部变量
在变量首次被复制时加上local关键字可以什么一个局部变量,
例S3:
#!/bin/bash
hello="var1“
echo $hello
function func1 {
local hello=“var2”
echo $hello
}
func1
echo $hello
输出:?
(3)基本语句(if、which、until、for、switch)
1)if语句
if判断语法
if 条件;then
echo “shijiange”
echo “run”
fi
课堂笔记五之嵌入式Linux开发工具_第11张图片
例如:
比较整数a和整数b是否相等:if[ $a = $b ]
比较整数a是否大于整数b:if[ $a –gt $b ]
比较字符串a和b是否相等: if[ $a = $b ]
判断字符串a是否为空:if[ -z $a ]
比较整数变量a是否大于b:if[ $a –gt KaTeX parse error: Expected 'EOF', got '#' at position 104: …ndition] do #̲code block don…var” in
contidion1)
;;
contidion1)
;;
*)
default statements;;
esac
6)函数
课堂笔记五之嵌入式Linux开发工具_第12张图片
7)函数传参
课堂笔记五之嵌入式Linux开发工具_第13张图片
8)函数返回值
课堂笔记五之嵌入式Linux开发工具_第14张图片
9)键盘输入read
(4)常用shell脚本编辑
-e 文件已存在
-f 文件是普通文件
-s 文件大小不为零
-d 文件是一个目录
-r 文件对当前用户可以读取
-w 文件对当前用户可以写入
-x 文件对当前用户可以执行

你可能感兴趣的:(笔记)