嵌入式学习笔记---uboot(2)

总结于朱有鹏老师的嵌入式课程,感谢朱老师

文章目录

  • shell
    • shell中的变量定义和引用
    • shell中的选择分支结构
      • 典型if语言格式:
      • if的典型应用
    • shell中的循环结构
      • echo的创建和追加输入文件
    • 其他
      • case语句
      • shell的传参

shell

第一行一般都是: #!/bin/sh这行话以#!开始,后面加上一个pathname,这行话的意思就是指定shell程序执行时被哪个解释器解释执行。所以我们这里写上/bin/sh意思就是这个shell将来被当前机器中/bin目录下的sh可执行程序执行。可以将第一行写为:#!/bin/bash来指定使用bash执行该脚本。

脚本编程其实就是把以前在命令行下输入的命令挪到脚本程序中去然后一次执行。

shell中的变量定义和引用

shell变量没有明确类型,在shell中赋值的=两边是不能有空格的。shell中引用一个变量必须使用 符 号 , 符号, 符号就是变量解引用符号。 v a r , 也 可 以 var,也可以 var{var}。区别是在某些情况下只能用 v a r 而 不 能 简 单 的 {var}而不能简单的 varvar。

使用字符串时可以直接使用,但有些符号不能输出,也可使用单双引号
单引号中:完全字面替换(不可包含单引号本身)
双引号中:
$加变量名可以取变量的值
反引号仍表示命令替换
$表示 的 字 面 值 输 出 的字面值 输出 符号
`表示`的字面值
"表示"的字面值
\表示\的字面值
除以上情况之外,在其它字符前面的\无特殊含义,只表示字面值。

shell中的选择分支结构

典型if语言格式:

if [表达式]; then
xxx
else
xxx
fi

if的典型应用

  1. -f 判断文件是否存在;
  2. -d 判断目录是否存在;
  3. = 判断字符是否相等;
  4. 判断是否相等(-eq)、大于(-gt)、小于(-lt)、大于等于(-ge)、小于等于(-le);
  5. -o 表示逻辑或,相当于C语言中在if后面的条件式中用逻辑与、逻辑或来连接2个式子;
  6. 逻辑与&&和逻辑或||;

shell中的循环结构

for循环 while循环与c语言类似

echo的创建和追加输入文件

  1. 在shell中可以直接使用echo指令新建一个文件,并且将一些内容传入这个文件中。创建文件并输入内容的关键就是>。
  2. 还可以使用echo指令配合追加符号>> 向一个已经存在的文件末尾追加输入内容。

其他

case语句

  1. shell中的case语句和C语言中的switch case语句作用一样,格式有差异
  2. shell中的case语句天生没有break,也不需要break,和C语言中的switch case不同。shell中的case不会执行完而不需要加break

shell的传参

shell程序本身也可以在调用时传参给他。在shell程序内部使用传参也是使用的一些特定符号来表示的,包括:$#表示调用该shell时传参的个数;$0、$1、$2·····则依次表示传参的各个参数。

你可能感兴趣的:(嵌入式)