shell交互界面为人和操作系统、uboot之间的人机交互提供了操作界面,可以通过shell界面来向操作系统或uboot等软件程序发送命令,使其按照命令行事。
shell交互界面可以通过shell脚本语言来实现,linux中常用的脚本语言是sh和bash。脚本语言是解释性语言,其源代码不是二进制形式的可执行文件,而是比较接近人类语言的解释性语言。它运行前不是像c源程序一样需要编译链接成可执行二进制文件,而是在y运行时才会被一句句的编译链接,再执行。
shell脚本是文本格式的,任何文本编辑器都可以写shell程序本。但要注意一个问题:windows下换行符为"\r\n",而linux下为"\n",故windows下编写的脚本程序在linux操作系统中很大可能无法运行。
linux中shell脚运行方式主要有三种:
第1种:./xxx.sh,和运行其他可执行程序一样。此时要求操作者具有运行该脚本的权限,若无权限,可通过chmod a+x xxx.sh来获得运行权限。
第二种: source xxx.sh。source是linux中的一个命令,可用来执行脚本程序,且不用关心权限问题。
第三种:bash xxx.sh。bash是linux中的一个程序,用来解释运行shell脚本语言程序。这种运行shell脚本的方式相当于是把xxx.sh当成bash程序的参数argv[1]传递给bash程序。
shell是弱类型语言(语言中的变量如果有明确的类型则属于强类型语言;变量没有明确类型就是弱类型语言),在shell编程中定义变量不需要指定类型,也没有类型这个概念。
shell定义变量时ke'z可直接用“=”赋值,不能有空格(区别于makefile),shell对空格有严格的要求,不能随便有/没有空格。