bash脚本编程之――变量、变量类型

shell编程: 编译器,解释器

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

静态语言:变异型语言

强类型(变量)

事先转换成可以执行格式

c、c++、JAVA、c#

动态语言:解释型语言,(on the fly)

弱类型

边解释边执行

PHP、SHELL、Python、Perl


面向过程:shell、c

面向对象:JAVA、Python、Perl、c++


变量:内存空间,命名

内存:编址的存储单元


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

字符型

数值型

整型

浮点型


整型,8bit:保存256

0-255 溢出


逻辑:1+1>2

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

1:真

0:假

与:

1&0=0

0&1=0

0&0=0

1&1=1

非:

!真=假

!假=真


shell:弱类型编程语言

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

弱:变量用时声明,甚至不区分类

bash变量类型:环境变量 本地变量(局部变量) 位置变量 特殊变量

本地变量:

VARNAME=VALUE 作用域为整个 bash进程:

引用变量:${变量名},括号有的时候可以省略

[root@localhost ~]# name=jack

[root@localhost ~]# echo $name


jack

[root@localhost ~]# animal=dog

[root@localhost ~]# echo "there are some ${animal}s"

there are some dogs


局部变量:

local VARNAME=VALUE:作用域为当前代码段:


环境变量:

作用域为当前shell进程及其子进程。

expore VANAME=VALUE

"导出"

位置变量:

$1,$2,......


特殊变量:

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

程序执行。肯能有了两类返回值;

1.程序执行结果

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

0:正确执行

1-255:错误执行 , 1,2 ,127 系统预留

输出重定向

> :覆盖重定向

>>:追加重定向

2>:错误重定向

2>>错误追加重定向

&>同时重定向


撤销变量:

unset vaname

查看当前shell中变量;

set

查看当前shell中的环境变量:

princev

env

export


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

shebang:魔数

#!/bin/bash

#:而後的#都是注�行


脚本在执行时会启动一个子shell环境变量;


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



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


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

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

相关文章

普通模式 >G 增加当前行到文档末尾处的缩紧层级 $ 移动到本行的末尾 . 相当于一个...
原文连接: https://spacevim.org/cn/layers/lang/elixir/ 模块简介 功能特性 启用模块 快捷键 语言专属...
原文连接: https://spacevim.org/cn/layers/lang/dart/ 模块简介 功能特性 依赖安装及启用模块 启用模...
 =   赋值操作符,可以用于算术和字符串赋值 +        加法计算     -        减法运算...
1.根据包名来查看指定的APP指定数据 adb shell "top | grep com.xxx.xxx" 由于这样打印出来的数...
ctrl+F 向下翻页 ctrl+B 向下翻页 u 取消最近一次操作 U 取消当前行的操作 ZZ 保存当前内容并退出 gg 跳...