bash编程--(一)

一、扯淡模块

1、编译器,解释器:翻译官
2、变量:内存空间,命名
内存:编址的存储空间

3、编程能力:脚本编程
变量用时声明,甚至不区分类型

二、编程语言分类

1、静态语言:编译型语言
强类型(变量)
事先转换成可执行格式
c、c++、JAVA、c#
动态语言:解释性语言 on the fly
弱类型(通常)
边解析边执行
perl   PHP    Pythen    shell

2、编程语言:
      机器语言、汇编语言、高级语言

3、面向过程:shell c语言
面向对象:JAVA  Pythen perl  c++

三、bash变量类型
环境变量
本地变量(局部变量) 
位置变量
特殊变量:保存特殊数据

本地变量
VARNAME=VALUE -- 整个bash进程
局部变量
local VARNAME=VALUE --- 作用域为当前代码段

引用变量:$NAME  | ${NAME}
“”弱引用,进行变量替换
‘’强引用,不进行变量替换

环境变量:作用域为当前shell进程及其子进程
export VARNAME=VALUE
 "导出"

位置变量
$1,$2...

特殊变量
$?:保存上一个命令的执行状态返回值

四、程序执行部分

1、程序执行,可能有两类返回值
程序执行结果
程序状态返回代码(0-255)
0---正确
其他错误
1、2、127系统预留
echo $?取状态的返回值

2、输出重定向
/dev/null:设备,软件设备(bit bucket)数据黑洞

3、撤销变量
unset VARNAME
4、查看变量
set
5、查看当前shell中的环境变量
printenv
env
export

@@
变量默认是字符串类型

五、脚本部分

1、脚本:命令的堆砌,按照实际需要,结合命令流程控制机制实现的源程序
shebang:魔数
#!/bin/bash
#注释行不执行

chmod +x first.sh  加上执行权限

bash first.sh 也可以执行(不改权限)

2、命令行脚本在执行时会启动一个子shell进程
命令行中启动的脚本汇集成当前shell环境变量
系统自动执行的脚本(非命令行启动),就需要自我定义需要各环境变量

3、bash中实现条件测试
类型
整数测试
字符测试
文件测试


整数比较
-eq  等值比较 --相等为真
[ $A -eq $B ]
-ne   --不等为假
-gt    测试一个数是否大于另一个数:大于为真
-lt    测试一个数是否小于另一个数:小于为真
-ge    大于或等于
-le    小于或等于


命令之间的逻辑关系(遵循短路准则)
逻辑与   &&
逻辑或   ||


变量名称:只能包含字母,数字,下划线,并且不能数字开头

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值