什么是变量 变量是计算机内存的单元,其中存放的值可以改变。当Shell脚本需要保存一些信息时,如一个文件名或是一个数字,就把它存放在一个变量中。每个变量有一个名字,所以很容易引用它。 使用变量可以保存有用信息,使系统获知用户相关设置,变量也可以用于保存暂时信息。
变量:变量类型 作用: 1、数据存储格式 2、参与的运算 3、表示的数据范围 类型: 字符 数值:整型、浮点型
强类型:定义变量时必须指定类型、参与运算必须符合类型 要求;调用未声明变量会产生错误 如 java,python 弱类型:无须指定类型,默认均为字符型;参与运算会自动 进行隐式类型转换;变量无须事先定义可直接调用 如: bash 不支持浮点数 变量命名法则: 1、不能使程序中的保留字:例如if, for; 2、只能使用数字、字母及下划线,且不能以数字开头 3、见名知义 4、统一命名规则:驼峰命名法
根据变量的生效范围等标准: 本地变量:生效范围为当前shell进程;对当前shell之外的其它shell进程,包括当前shell的子shell进程均无效 环境变量:生效范围为当前shell进程及其子进程 局部变量:生效范围为当前shell进程中某代码片断(通常指函数) 位置变量: $1, $2, ...来表示,用于让脚本在脚本代码中调用通过命令行传递给它的参数 特殊变量: $?, $0, $*, $@, $#
变量赋值: name=‘value’, 可以使用引用value: (1) 可以是直接字串; name=“root" (2) 变量引用: name="$USER" (3) 命令引用: name=`COMMAND`, name=$(COMMAND) 变量引用: ${name}, $name "":弱引用,其中的变量引用会被替换为变量值 '':强引用,其中的变量引用不会被替换为变量值,而保 持原字符串 显示已定义的所有变量: set 删除变量: unset name
变量声明、赋值: export name=VALUE declare -x name=VALUE 变量引用: $name, ${name} 显示所有环境变量: export env printenv 删除: unset name bash有许多内建的环境变量: PATH, SHELL, USRE,UID,HISTSIZE, HOME, PWD, OLDPWD, HISTFILE, PS1
只读变量:只能声时,但不能修改和删除 readonly name declare -r name
位置变量:在脚本代码中调用通过命令行传递给脚本的参数 $1, $2, ...:对应第1、第2等参数, shift [n]换位置 $0: 命令本身 $*: 传递给脚本的所有参数,全部参数合为一个字符串 $@: 传递给脚本的所有参数,每个参数为独立字符串 $#: 传递给脚本的参数的个数 $@ $* 只在被双引号包起来的时候才会有差异 示例:判断给出的文件的行数 linecount="$(wc -l $1| cut -d' ' -f1)" echo "$1 has $linecount lines."
原创文章,作者:RecallWzc,如若转载,请注明出处:http://www.178linux.com/35713
评论列表(1条)
总结的很好,很实用