linux 对象shell,linux shell基础(1)

shell编程:

编译器,解释器

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

高级语言

静态语言:编译型语言,事先转换成可执行格式

强类型(变量)

关键字:

C、C++、JAVA、C#、、

动态语言:解释型语言,(onthe fly)边解释边执行,运行(执行)时需要解释器

弱类型

ASP、ASP.NET、PHP、SHELL、PYTHON、PERL

lua

shell,python,perl至少精通一种

面向过程:把编程着眼点或立足点主要在于问题解决过程一般适用于小型编程

面向对象:把要实现的项目抽象为一个一个对象,并定义对像之间的动作或可发生的操作

一般适用于大型编程

shell,c是纯面向过程

java,python是纯面向对象

perl,c++即是即面向过程,也面向对象,c++是非常复杂的面向对象的语言

编程能力:

脚本编程

变量:变量是内存空间;变量是命名的内存空间;

内存:编址的存储单元

进程:

变量类型:事先确定数据的存储格式和长度

字符

数值

整型

浮点型

时间型

布尔型

逻辑:1+1>2

逻辑运算:与、或、非、异或

1:真

0:假

与运算

1 & 0 = 0

0 & 1 = 0

0 & 0 = 0

1 & 1 = 1

电路中的与运算:串联的两个开关为操作数,灯亮为真,灯灭为假

1 | 0 = 1

0 | 1 = 1

0 | 0 = 0

1 | 1 = 1

电路中的或运算:并联的两个开关为操作数,灯亮为真,灯灭为假

!1=0

!0=1

电路中非运算:操作数为开关1,

当开关1闭合,磁电产生磁场,磁场将开关2断开,灯灭

当开关1断开,磁电不产生磁场,开关2自然闭合,灯亮

异或运算:两个操作数相同得0,两个操作数不同得1

程序中有三种演算子:XOR、xor、⊕

1⊕1=0

0⊕0=0

1⊕0=1

0⊕1=1

短路逻辑运算

与运算的短路逻辑:只要有一个为假,结果肯定为假

或运算的短路逻辑:只要有一个为真,结果肯定为真

shell是弱类型编程语言

强:变量在使用前,必须事先声明,甚至还需要初始化;

空为null

弱:变量用时声明(意思是直接拿来用);甚至不区别类型;

显示转换

隐示转换

变量赋值:VAR_NAME=VALUE

BASH变量类型

环境变量

本地变量(局部变量)

位置变量

特殊变量(系统变量)

本地变量:

引用变量(替换变量):${VARNAME},通常情况下{}可以省略

‘’为强引用(替换):内部引用的变量不会被替换

“”为弱引用(替换):内部引用的变量会被替换

声明本地变量(作用域:整个BASH进程)

[set]  VARNAME=VALUE

set可以省略

声明局部变量(作用域:当前代码段)

[set] local   VARNAME=VALUE

声明环境变量(作用域:当前SHELL进程及其子shell进程)

[set] export  VARNAME=VALUE

“导出”

位置变量:

$1,$2,…

特殊变量:

$?:保存上一个命令的执行状态返回值;

程序执行结果

程序状态返回代码(0-255)

0:正确执行

1-255:错误执行,1,2,127系统预留,其他的可以用户自行定义;

输出重定向:

>覆盖重定向

>>追加重定向

2>错误重定向

2>>错误追加重定向

&>同时重定向

/dev/null:设备,软件模拟设备,bit bucket,数据黑洞

撤消变量

unset VARNAME

查看当前shell变量

set包括环境变量和本地变量

查看当前shell中的环境变量

printenv

env

export

特殊变量和位置变量不能查看

脚本在执行时会启动一个子shell进程:

命令行中启动的脚本会继承当前shell环境变量

系统自动执行的脚本(非命令行启动)就需要自我定义需要的各环境变量

脚本:命令的堆砌,按实际需要,结合命令流程控制机制实现的源程序

shebang:魔数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值