一. shell脚本
- 基本语法
 - #!/bin/bash 声明解释该脚本的程序,使用后可使用bash内建的指令
 - #!被称为魔数 魔数后应指定运行该脚本所需程序的完整路径
 - 特点
 - shell脚本解释器
 - bash Linux内建的shell,BourneAgain Bash缩写,内部命令40个
 - 包含自身帮助
 - 查找匹配,命令文件名补全
 - 可用方向键查阅和快速修改
 - sh 是Bourne Shell的缩写,sh 是Unix 标准默认的shell
 - ash 占用系统资源最少的一个小shell,只包含24个内部命令,使用不方便
 - csh 内部52个命令,指向/bin/tcsh
 - ksh 与商业版相同,体会商业版乐趣
 - 不适用shell
 - 工作量大,跨平台,安全性,GUI,直接操作系统硬件
 - 需要使用库或是遗留下来的老代码
 - 私人闭源的项目
 - shell变量规范
 - your_name="shilizhuang"
echo ${your_name} - 变量字母开头,仅包含字母、数字、下划线
 
二. 程序设计预言
- 编译型语言
 - 程序运行之前有一个单独的编译过程
 - Fortran、Ada、Pascal、C、C++和Java 需要预先将写好的源代码(source code)转换成目标代码(object code),这个过程被称作“编译”
 - 优点:运行程序时,直接读取目标代码(object code),由于非常接近计算机 底层,执行效率很高
 - 缺点:多半运作于底层,所处理的是字节、整数、浮点数或是其他机器层级 的对象,实现简单的功能需要大量复杂的代码
 - 解释型语言
 - 运行的时候边转化为机器语言,因此速度不快
 - 也被称为“脚本语言”
 - 运行在比编译型语言高的层级,能够轻易处理文件与目录之类的对象
 
三. 环境变量
- 重定向(可用于备份)
 - >输出重定向
 - >>追加到末尾
 - <输入重定向
 - <<内联输入重定向
 
