linux学习 Day12-bash编程 变量

2021-04-15  本文已影响0人  面团_c96b

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

一 动态语言与静态语言

静态语言:编译型语言

强类型(变量):变量在使用前,必须事先声明,甚至还需要初始化。
事先转换成可执行格式
C,C++,JAVA,C#

动态语言:解释型语言

弱类型:变量用时声明,甚至不区分类型。
不区分类型:默认为字符串。
PHP,SHELL,python,perl

变量赋值:VAR_NAME=VALUE

引用变量:${VARNAME}

括号有时可以省略
example:"There are some $(ANIMAL)s."
双引号为强引用,内部有变量需要替换则需要用强引用。

面向过程:shell,C
面向对象:JAVA,Python,perl,C++

二 一些概念

变量:内存空间,命名

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

1. 字符

2. 数值

(1) 整型

(2) 浮点型

内存:编址的存储单元

进程:

三 逻辑运算:与,或,非,异或

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

四 变量

本地变量:

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

局部变量:

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

环境变量:

作用域为当前shell进程及其子进程
export VARNAME=VALUE
“导出”=定义环境变量

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

1.可以先定义本地变量再导出

NAME=jerry
export NAME

2.可以一步导出定位

export NAME=jerry

位置变量

1,2,...

特殊变量

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

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

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

变量操作

撤销变量:

unset VARNAME

查看当前shell中变量:

set

查看当前shell中的环境变量

printenv
env
export

变量追加:

ANIMALS=pig
ANIMALS=$ANIMALS:goat

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

shebang:魔数

!/bin/bash

注释行,不执行

执行脚本
bash first.sh

上一篇 下一篇

猜你喜欢

热点阅读