命令补全:
shell程序在接收到用户执行命令的请求,分析完成之后,最左侧的字符串会被当作命令。
命令查找机制:
根据内部命令:
根据path环境变量中设定的目录,自左而右逐个搜索目录的文件名;
路径补全:
在给定的起始路径下,以对应路径下的打头字串来逐一匹配起始路径下的每个文件。
bash变量
bash中变量有两种,分别是环境变量和自定义变量,可以理解为全局变量和局部变量,在理解他们的区别前,需要知道副程序和子程序,举个例子,
当前的bash 称之为父程序,而在这个bash下执行的任何程序,都称之为子程序。全局变量和局部变量的区别就是,全局变量在子程序中仍然有效,局部变量只在当前程序中有效,
程序:指令+数据
(算法+数据结构)
程序编程风格:
过程式:以指令为中心,数据服务于指令
对象式:以数据为中心,指令服务于数据
shell程序:提供了编程能力,解释执行
程序的执行方式:
计算机:运行二进制指令
编程语言:
低级:汇编
高级:
编译:高级语言-->编译器-->目标代码
C、C++, java
解释:高级语言-->解释器-->机器代码
shell, perl, python
过程式编程:
顺序执行
循环执行
选择执行
2.shell编程:过程式、解释执行
编程语言的基本结构:
数据存储:变量、数组
表达式
语句
shell,执行特性提供了基本语法控制,保留字之外,其他的语句、表达式、内部功能的实现,不是靠自己内部函数调用来实现,不像其他语言有自己的库,没有提供真正意义上的内建函数。shell依赖于当前系统环境
shell脚本是文本文件
shebang机制:执行脚本文件的解释器所在路径
#!/bin/bash
#!/usr/bin/python
#!/usr/bin/perl
必须顶格写
magic number: 魔数控制机制,内核通过魔数判断文件格式
运行脚本:
1、给予执行权限,通过具体的文件路径指定文件执行
2、直接运行解释器,将脚本作为解释器程序的参数运行
相关概念
变量:命名的内存空间
数据存储方式
字符:110:24位二进制
数值:110 --> 8位二进制
变量的数据类型
作用:
①数据存储格式
②决定能够参与的运算
③表示的数据范围
类型:
①字符
②数值:
整型 浮点型