技术笔记分享

变量的定义、引用、删除



变量值的三种来源


1)直接赋值



3)传递参数



4)read从键盘输入读取


常见选项:


选项 解释
-p 定义提示用户的信息
-n 定义字符数(限制变量值的长度)
-s 不显示(不显示用户输入的内容)
-t 定义超时时间,默认单位为秒(限制用户输入变量值的超时时间)


定义有类型的变量(declare)


选项:


选项 解释 举例
-i 将变量看成整数 declare -i A=123
-r 定义只读变量 declare -r B=hello
-a 定义普通数组;查看普通数组
-A 定义关联数组;查看关联数组
-x 将变量通过环境导出 declare -x AAA=123456 等于 export AAA=123456

举例说明:



变量的分类


1) 本地变量



2) 环境变量


环境变量:当前进程有效,并且能够被子进程调用。

  1. env查看当前用户的环境变量
  2. set查询当前用户的所有变量(临时变量与环境变量)
  3. export 变量名=变量值 或者 变量名=变量值;export 变量名

永久生效:
vim /etc/profile 或者 ~/.bashrc
export A=hello
或者
A=hello
export A

说明:系统中有一个变量PATH,环境变量
export PATH=/usr/local/mysql/bin:$PATH


3) 全局变量


文件名 说明 备注
$HOME/.bashrc 当前用户的bash信息,用户登录时读取 定义别名、umask、函数等
$HOME/.bash_profile 当前用户的环境变量,用户登录时读取
$HOME/.bash_logout 当前用户退出当前shell时最后读取 定义用户退出时执行的程序等
/etc/bashrc 全局的bash信息,所有用户都生效
/etc/profile 全局环境变量信息 系统和所有用户都生效
$HOME/.bash_history 用户的历史命令 history -w 保存历史记录 history -c 清空历史记录


系统变量

内置变量 含义
$? 上一条命令执行后返回的状态;状态值为0表示执行正常,非0表示执行异常或错误
$0 当前执行的程序或脚本名
$# 脚本后面接的参数的个数
$* 脚本后面所有参数,参数当成一个整体输出,每一个变量参数之间以空格隔开
$@ 脚本后面所有参数,参数是独立的,也是全部输出
$1~$9 脚本后面的位置参数,$1表示第1个位置参数,依次类推
${10}~${n} 扩展位置参数,第10个位置变量必须用{}大括号括起来(2位数字以上扩起来)
$$ 当前所在进程的进程号,如echo $$
$! 后台运行的最后一个进程号 (当前终端)
!$ 调用最后一条命令历史中的参数

数组分类



普通数组定义



数组的读取



关联数组定义


数组赋值



获取关联数组值



其他变量定义



变量的替代



发表评论

邮箱地址不会被公开。 必填项已用*标注