***shell的简单介绍:
shell是用户操作接口的意思。
接口本身是对内部复杂的实现的一种封装,外部通过接口实现其效果。
操作系统运行起来会给用户提供一个操作界面,这个操作接口就是shell。
shell的分类:
1.GUI:图形用户界面。
2.cmdline:命令行界面。
shell的运行原理:(cmdline)
死循环,其中含三个串联的模块,分别是命令接收 ,命令解析,命令执行。
用户输入命令的界面是一个命令行,以回车键为结束的标志。
***shell的基本概念:
shell就是人机交互的一种方式,是一种编程语言,为用户提供一种操作的命令行界面。
又称为脚本语言,包括:sh bash csh perl Python等。一般脚本语言用于嵌入式的配置。
C语言等编程语言是编译执行语言,而shell脚本语言是解释执行,当我们执行一个shell程序时,shell解析器会逐行解释shell程序代码,然后依次去执行。
shell程序是文本格式的,不涉及编译器,编译完就可以运行。
执行的方法: 1. ./xxx.sh 文件有运行的权限;
2. source xx.sh 不需要脚本有可执行权限;
3. bash xx.sh
# !/bin/bash含义:指定shell程序执行时被那个解释器解释执行。
shell避免了在命令行下反复输入,将手工输入的步骤记录下来,通过执行shell脚本程序再次复述
***shell变量的定义与引用:
在shell中没有类型的概念,
赋值的等号两端不能有空格。
***shell调用linux的命令:
反引号+命令可以得到这个linux命令的返回值,从而调用这个命令。
source + 文件名 用反引号(~符号相同按键的符号)括起来执行可以得到这个命令的返回值。
分支结构的典型结构:
if [表达式]; 空格必须记住有空格否则错误。
then xxx
else
xxx
fi
注:一般情况下[]内的表达式两端必须空格
指令集: 1. -f:判断文件
2.-d 判断目录是否存在
3. 判断字符串是否为空(-z)
4.逻辑与 “-o”
5.判断数字是否相等(-eq) 大于(gt) 小于(lt)
echo创建文件夹和追加输入文件夹内容: echo "xxxx" xx.tx