Linux之shell脚本变量

变量是脚本种的一种重要的属性,它可以存储值,这就大大的增加了脚本的灵活性使得脚本的应用更为广泛。

自定义变量

变量名=值(等号两边不能有空格)

在linux内可以定义变量然后用$引用如果要在调用后面加字符之类的则可以使用${变量名}字符

环境变量

系统帮你定义好的变量

例如

USER输出本用户的用户名

UID输出本用户的id号

HOME当前用户家目录

SHELL当前用户解释器

PWD当前位置

PS1一级提示符

PS2二级提示符

PATH存储命令路径

删除变量

将自己定义的临时变量删除掉

  1. unset + 变量名

永久定义变量

/etc/profile文件下定义,针对所有用户

/root/.bash_profile文件下定义针对个人用户

位置变量与与定义变量

脚本在有位置变量后不能直接执行需要在执行命令后面添加参数才可以执行。

[root@XH ~]# vim location.sh
#!/bin/bash
#位置变量
echo $1                           #第一个参数
echo $2                           #第二个参数
#预定义变量
echo $0                           #脚本的名称
echo $*                           #所有参数
echo $#                           #所有参数的个数
echo $$                           #当前进程的进程号
echo $?                           #上一个程序的返回状态码
可以检测上一个指令是否成功,成功为0,不成功为非0
[root@XH ~]# chmod +x location.sh     #添加可执行权限

使用位置变量实现快速创建用户及其密码

[root@XH ~]# vim /opt/user.sh
#!/bin/bash
useradd $1
echo "$2" |passwd --stdin $1 

引号

’‘ “:界定范围,屏蔽某些特殊符号的功能

“” :界定范围

“ `` ”反撇或者$() :将明令的执行输出作为变量

read :以交互式交互式创建自定义变量

例如

#!/bin/bash
read -p please with username:  n   #提示输入名称
useradd $n
stty -echo
read -p please with passworld:  m   #提示输入密码
stty echo
echo $m | passwd --stdin $n

stty -echo:屏蔽回显示

stty -echo:不屏蔽显示

发布全局变量

export + 已经定义的变量(类似于python的全局变量)

变量计算

用于做某种计算
expr

或者可以用$[]$(())表达式

[root@XH ~]# X=1234                       #定义变量X
[root@XH ~]# expr  $X  +  78                #加法
1312
[root@XH ~]# expr  $X  -  78                  #减法
1156
[root@XH ~]# expr  $X  \*  78               #乘法,操作符应添加\转义
96252
[root@XH ~]# expr  $X  /  78                #除法,仅保留整除结果
15
[root@XH ~]# expr  $X  %  78               #求模
64
[root@XH ~]# echo $[X+78]
1312
[root@XH ~]# echo $[X*78]
96252

let计算后会赋值,结果不输出,可以变量自增减

bc计算器:可以计算小数

bc sclae=显示小数点后几位 算式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值