shell变量及引用

目录

1.变量的命名

2.变量的类型

3.变量的定义

1.自定义变量

2.环境变量

3.位置变量

 4.预定义变量


1.变量的命名

变量名可以由字母,数字或者下划线组成

变量名命名规则:

1.首个字符必须为字母或者下划线(a-z,A-Z,_)

2.中间不能有空格,可以用下划线

3.不能使用标点符号

4.不能使用bash里的关键字(help命令可以查看关键字)

例:

_JAVA_HOME="/usr/lib/java"

_number=100

name="xixi"

2.变量的类型

Shell是一种动态类型语言和弱类型语言,shell不需要申明变量类型,它会自动根据不同的操作进行变化,它是统一按照字符串来进行存储的.

shell是弱类型语言,它是允许隐式类型转换

3.变量的定义

变量定义示例:变量名=变量值

注意:

1.“=”左右不能有空格,否则报错

2.字符串类型建议用引号括起来,尤其是特殊字符或者空格

DEMO=“zhang san”

 利用declare定义变量

+/- “-”可以来指定变量属性,”+“是取消变量所设属性

-p 是显示所有变量的值

-i 将变量声明为证书,之后可以对表达式求值,结果只能为整数,如果求值失败或者不为整数,就设置为0

-r 声明变量为只读变量,只读变量不允许修改,也不允许删除(readonly也可以定义相同的变量)

-a 变量声明为数组变量 例如:declare -a cd='([0]="a" [1]="b" [2]="c")'

-f 显示所有自定义函数,包括名称和函数体

-x 将变量设置成环境变量

1.自定义变量

  定义变量:变量名=变量值

  引用变量:$变量名或者${变量名}

查看变量:echo $变量名; set(所以变量:包括自定义变量和环境变量)

取消变量:unset 变量名  -f(取消函数) -v(取消变量)  只读变量无法取消(readnoly x=123 #x变量无法修改,无法取消,尽量少定义)

作用范围:当前shell生效

2.环境变量

查看环境变量

env

printent

定义环境变量

export 变量名=变量值

  引用变量:$变量名或者${变量名}

查看变量:echo $变量名; env

取消变量:unset 变量名

变量范围:当前shell和子shell

Bash初始化文件有:/etc/profile,~/.bash_profile,~/.bash_login,~/.profile,~/.bashrc,/etc/bashrc

全局起作用的是/etc/profile 所有用户登录的时候都会读取文件

~/.bash_profile:每个用户都可以使用该文件输入专用与自己使用的设立了信息,当用户登录时,文件仅仅执行一次

~/.bashrc每次登录shell都会调用该文件

3.位置变量

$1 $2 $3 $4

可以通过这些来进行接受若干参数

 

 4.预定义变量

$0  显示变量名

$*  所有参数 他会把所有位置的参数当成一个整体

$@  所有参数  他会把所有位置的参数当成一个单独的个体

$#  统计参数个数

$$ 当前进程号

$! 上一个后台进程的PID

$? 上一个命令的返回值 0表示成功

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值