马哥 Linux运维基础进阶和shell入门

地址:http://edu.51cto.com/course/course_id-618.html

紧接马哥linux专题

第一讲

Bash变量:

1byte=
-128,127

2bytes
-32768,32767

负数使用补码表示的

保存浮点数:
1.23 25.00

符号:0.123*10
二进制:1.11 => 0.111*2 => 0.0111*2^2

整数和浮点数保存完全不一样


ASCII美国标准信息代码:127个基本字符
127,7
0-127, 0000 000 - 1111 111
字节=8bit,计算机最小存储单位是8位

按照字符串需要24位,需要数字仅仅8位就行了。

超过位数,溢出,左边截取。

字符
数值:整数,浮点数(单精度,双精度)

程序:
编译型语言(静态语言): C, C++
变量类型(强类型语言,变量必须有类型)
字符
数值
整数
浮点数

脚本型语言(动态语言):解释执行,依赖于解释器(bash)
变量(弱类型)
默认识别为字符型

类型装换
AGE+3 兼容的方向转变

AGE=23,保存格式是整数还是浮点数还是字符

变量的生命周期

C:内存泄露,手动申请和释放内存。哪个申请哪个回收
malloc,

Java, 垃圾回收器。不用关心内存释放,效率低。Java效率低于C至少百分之三十。

源程序-->编译-->链接->执行

第二讲

脚本语言:源程序->使用解释器解释执行

bash变量类别
本地变量:作用范围仅限于当前程序文件。变量仅对当前shell有效,子进程和其他shell都无效。还有比本地范围更小的局部变量,局部变量仅限于代码段,比如一个函数内。
环境变量
特殊变量
位置变量

Bash的引号:
"双引号" 弱引用
'带引号' 强引用
`反引号` 命令替换

变量替换, echo "$age"

echo
   -n 不换行
   -e 让转义生效


shell还可以有子shell,在一个进程中,又打开一个shell,即敲下bash命令。

declare 生命一个变量,也可以生命类型
declare -i生命一个数值
declare -i生命一个数组

手动撤销变量
unset VARNAME

只读变量
readonly VARNAME

原文地址:https://www.cnblogs.com/zl0372/p/shell.html