随笔分类 -  嵌入式学习之基础篇

本阶段记录内容大部分摘自Linux典藏大系之《Linux命令、编辑器与shell编程》
摘要: 阅读全文
posted @ 2013-12-20 17:55 ITtecman 阅读(142) 评论(0) 推荐(0) 编辑
摘要:一、break break的功能是跳出循环。如果使用了多个嵌套的循环,还可以指定要跳出的循环数。 [root@localhost shell]# cat test.sh#!/bin/bash#This is a test script.#2013/12/16while truedo while true do echo "inne... 阅读全文
posted @ 2013-12-20 15:34 ITtecman 阅读(171) 评论(0) 推荐(0) 编辑
摘要:一、until语句的基本格式 until 条件测试do 语句块done只要条件测试语句未成功结束,则执行语句块。(如果一开始条件测试语句就成功退出,那么一次也不执行语句块。这里跟C语言中的do...while不同。)二、while语句的基本格式 while 条件测试do 语句块done只要条件测试语句成功退出,则执行语句块。三、until和while的区别until是条件测试... 阅读全文
posted @ 2013-12-20 14:36 ITtecman 阅读(4541) 评论(0) 推荐(0) 编辑
摘要:一、for语句的基本格式 for 变量 in 列表do 语句块done二、使用for语句处理列表(数组) [root@localhost shell]# cat use_for_deal_with_list.sh#!/bin/bash#Use for loop deal with list.#2013.12.20I=1for LOOP in 1 2 3 4 5 6 do ... 阅读全文
posted @ 2013-12-20 09:56 ITtecman 阅读(1116) 评论(0) 推荐(0) 编辑
摘要:一、case语句的基本格式: case 变量 in 模式1) 语句块1 ;; 模式2) 语句块2 ;; ...... ;;esac上面的格式中,每个模式后面的两个分号“;;”是模式结束标记。系统执行模式后面的语句时,不会越过此标记。二、利用case语句处理选项参数 [root@localhost s... 阅读全文
posted @ 2013-12-20 09:32 ITtecman 阅读(3855) 评论(0) 推荐(0) 编辑
摘要:一、简单if语句的格式 if 条件表达式 then 语句1 语句2 ......fi二、if else语句的格式 if 条件测试 then 语句块1else 语句块2fi三、if elif 语句的使用 if 条件测试1 then 语句块1elif 条件测试2 then 语句块2elif 条件测试3 then 语句块3elif 条件... 阅读全文
posted @ 2013-12-19 20:47 ITtecman 阅读(370) 评论(0) 推荐(0) 编辑
摘要:一、退出状态 在Linux系统中,无论是命令、脚本还是程序,执行完成退出后都存在退出状态,退出状态通常保存在预定义变量$?中。大多数情况下,预定义变量只会使用两个数字表示命令、脚本和程序的退出状态。 数字0表示命令、脚本或程序成功执行,没有发生错误。 数字1表示在执行过程中发生了某些错误,没有成功执行。 由于退出状态由程序编写者定义,因此退出状态也可能不是0或1,遇到这种情况时,可能需要查... 阅读全文
posted @ 2013-12-19 11:13 ITtecman 阅读(522) 评论(0) 推荐(1) 编辑
摘要:我们知道,使用位置变量可以获取传递给脚本的参数,但是位置变量最多只能获取9个参数,当要使用的选项、参数大于9时,位置变量就无能为力了。 一、使用shift命令处理参数 参数操作命令shift的用法比较特殊,它没有选项和参数,直接运行命令即可。运行shift命令时,位置变量就像一个可以移动的“指针”,每执行一次,位置变量指向的参数将向后移动一位。即使用shift命令后,位置变量$1的值等于使用s... 阅读全文
posted @ 2013-12-18 10:06 ITtecman 阅读(1122) 评论(0) 推荐(0) 编辑
摘要:[root@localhost shell]# cat monitor_disk.sh #!/bin/bash#This script is used to monitor disk.#2013/12/17function disk_speed(){ A=`df -k | grep "$1" | awk '{print $3}'` sleep 30 ... 阅读全文
posted @ 2013-12-18 09:26 ITtecman 阅读(322) 评论(0) 推荐(0) 编辑
摘要:[root@localhost shell]# cat dep_check.sh #!/bin/bash#This is used to query the package dependencies.#2013/12/17#定义查询函数function query(){ #定义查询包的行、包名称和最大行数三个变量 LINE=0 PACKET=null... 阅读全文
posted @ 2013-12-17 20:10 ITtecman 阅读(548) 评论(0) 推荐(0) 编辑
摘要:需要编写一个较庞大的脚本时,可能会涉及许多函数、变量。这是通常建议将众多的函数、变量放入一个单独的脚本内。这样做的好处很明显,不用担心某个函数、变量是否已经被定义和使用,也不用频繁地定义、清除函数和变量。 一、函数文件的编写 函数文件的格式和脚本文件一样。 [root@localhost shell]# cat function.example #函数文件中也可以不写下面这行Shell... 阅读全文
posted @ 2013-12-17 17:11 ITtecman 阅读(2397) 评论(0) 推荐(0) 编辑
摘要:一、在脚本中定义函数 与变量一样,在使用函数之前应该对函数进行定义。与其他编程类语言相比,由于没有数据类型的概念,因此也不必定义函数的类型。 (1)在脚本中可以使用以下方式定义函数: function_name(){ 语句1 语句2 ...}(2)有时为了便于阅读,也可以使用以下方式定义函数: function function_name(){ 语句1 ... 阅读全文
posted @ 2013-12-17 15:29 ITtecman 阅读(867) 评论(0) 推荐(0) 编辑
摘要:当用户在登录界面正确地输入用户名和密码后,系统就开始为用户构建一个可以使用的用户环境。用户环境包括用户使用的环境变量、快捷键设置及命令别名等。这些设置大多是通过运行全局用户配置文件/etc/profile及用户主目录中的个人用户配置文件profile文件得到的。一、全局用户配置文件/etc/profile/etc/profile是一个全局配置文件,所有用户登录都会使用该文件构建用户环境。这个文件中设置了用户的环境变量、搜索路径等信息。[root@localhost ~]# cat /etc/profile# /etc/profile# System wide environment and s 阅读全文
posted @ 2013-12-17 14:32 ITtecman 阅读(5948) 评论(0) 推荐(0) 编辑
摘要:一、系统初始化脚本 从INIT进程的配置文件中可以看出,INIT进程首先读取了系统默认运行级别,之后立即使用/etc/rc.d/rc.sysinit脚本对系统进行初始化。 系统初始化脚本rc.sysinit在INIT进程被载入之后运行,主要的功能如下: 获取网络环境并设置相关环境变量。 添加/proc、/sysfs文件系统,检测是否存在USB设备,如有则尝试挂载,并载入USB... 阅读全文
posted @ 2013-12-17 13:51 ITtecman 阅读(2120) 评论(0) 推荐(0) 编辑
摘要:系统初始化过程是指从INIT进程成功启动,一直到系统启动并弹出登录提示之间的过程。当INIT进程成功启动后,它会根据配置文件/etc/inittab中的设置初始化系统,这个过程主要完成的工作有:重新挂载文件系统、运行系统需要的进程和服务等。 一、INIT进程的配置文件 INIT进程的配置文件是/etc/inittab,这个配置文件会引导INIT进程初始化系统,开启必要的进程、服务等。 查看i... 阅读全文
posted @ 2013-12-17 08:57 ITtecman 阅读(896) 评论(0) 推荐(0) 编辑
摘要:一、Linux系统的启动步骤 (1)主机加电自检:按下主机电源键之后,启动过程就开始了。系统会首先加载BIOS(Basic Input Output System,基本输入输出系统),检查连接到系统的设备,并枚举和初始化设备。这个过程会初始化所有连接到主机的设备,例如将光驱中的激光头复位、初始化键盘等设备。如果自检过程中没有发现错误,系统会根据BIOS中的设置查找处于活动状态并能用于引导系统的设... 阅读全文
posted @ 2013-12-16 21:39 ITtecman 阅读(420) 评论(0) 推荐(0) 编辑
摘要:一、数组的定义 【数组元素的格式】 ARRAY[index] index从0开始。 【定义数组】 在Bash中定义数组有两种方法: (1)直接在定义时为所有的数组元素赋值: [root@localhost shell]# ARRAY=(1 2 3 4 5)(2)对数组中每个数组元素进行赋值: [root@localhost shell]# ARRAY[0]=1; ARRAY[... 阅读全文
posted @ 2013-12-16 19:57 ITtecman 阅读(674) 评论(0) 推荐(0) 编辑
摘要:注意:与其他编程语言不同,Bash中的变量没有数据类型的区别。变量中的值都是以字符串的形式保存的,如果要进行数值计算,需要进行特殊转换。 Linux Shell下的变量按其使用目的可以分为3中类型。 环境变量:用于保存操作系统运行时使用的环境变量。 位置变量:Bash将传递给脚本的参数保存在位置变量中,以便于在脚本中引用这些参数。 预定义变量:由系统保留和维护的一组特殊的变量,这些变量通常... 阅读全文
posted @ 2013-12-16 19:02 ITtecman 阅读(1348) 评论(0) 推荐(0) 编辑
摘要:Tcsh主要用于Free BSD等UNIX系统中。 一、输出字符串Hello的示例脚本 Tcsh脚本的基本格式、编写方法及脚本中使用的命令等,与Bash脚本完全相同,只需要直接套用即可。 [root@localhost shell]# cat hello.csh#!/bin/tcsh#This is a test script.#This script will output hell... 阅读全文
posted @ 2013-12-15 16:59 ITtecman 阅读(2124) 评论(0) 推荐(0) 编辑
摘要:为实现某个任务,将许多命令组合后,写入一个可执行的文本文件的方法,称为Shell脚本编程。 按照应用的Shell环境不同,可以将Shell脚本分为多种类型。其中最常见的是应用于Bash和Tcsh的脚本,通常将其称为Bash和Tcsh脚本。同Tcsh脚本相比,Bash脚本在Linux中的应用相对较广。 一、Shell脚本的基本内容 Shell脚本其实就是一个文本文件,因此建立新的脚本文件时,可... 阅读全文
posted @ 2013-12-15 16:05 ITtecman 阅读(397) 评论(0) 推荐(0) 编辑