shell-编程基础-变量

一,概念基础

1.变量的概念

顾名思义,变量就是一个可以变化的量。从本质来讲,变量就是在程序中保存用户数据的一块内存空间,变量名就是这块内存空间的地址。
在程序的执行过程中,保存数据的内存空间里面的内容可能会不断的发生改变,但是代表内存地址地址的变量名是始终未变的。
变量是写入内存的,当计算机重启后数据就会丢失,若要保存就得写入磁盘。

2.变量的命名

变量的命名简单来说,就是把A的值放到B这个内存空间里面,例如:
shell-编程基础-变量
如图我们把A的值放到以B为名的内存空间里面,通过echo调用以B为名的内存空间,出现的数据就是A
变量名的命名,没有做明确的规范,只是规定了以字母或下划线开头,由字母数字下划线组成的任意长度字符串,但是为了方便阅读,尽量使用简短明确的单词来命名。

3.变量的类型

shell不同于c语言的数据类型,它是一种动态类型和弱语言,与python类似,变量无需特别声明数据类型,可以说shell没有数据类型,任尔东西南北风,我自字符串存储。
shell-编程基础-变量
如图我们可以看出,shell变量里存储的数据总是最新的,所以定不定义类型无关紧要,

4.变量的定义

前面我们说了,shell的数据是动态的,但是如果我们在程序里有一个变量是贯穿始终的,那么就得给它定义,
shell-编程基础-变量
例如:declare -i 将变量定义为整型,结果只能是整数,否则会报错。

序号 选项 释义
1 -f 限制动作或显示为只函数名称和定义
2 -F 限制仅显示函数名称 (以及行号和源文件名,当调试时)
3 -g 当用于 shell 函数内时创建全局变量; 否则忽略
4 -p 显示每个 NAME 变量的属性和值
5 -a 使 NAME 成为下标数组 (如果支持)
6 -A 使 NAME 成为关联数组 (如果支持)
7 -i 使 NAME 带有 `integer‘ (整数)属性
8 -l 将 NAME 在赋值时转为小写
9 -n 使 NAME 成为指向一个以其值为名称的变量的引用
10 -r 将 NAME 变为只读
11 -t 使 NAME 带有 `trace‘ (追踪)属性
12 -u 将 NAME 在赋值时转为大写
13 -x 将 NAME 导出

二,赋值和替换

三,引用

shell-编程基础-变量

上一篇:Xshell 6 下载教程


下一篇:shell读取文件不改变文本格式