linuxfor2个变量,LinuxShell编程(2)-Bash变量

linuxfor2个变量,LinuxShell编程(2)-Bash变量⼀、简介与分类
1. Bash 变量的命名规则
变量名只能包含字母、数字、下划线
变量名不能以数字作为开头
变量名区分⼤⼩写
变量名长度不超过255个字符
变量名在有效范围内必须唯⼀
2. 变量按照存储的数据类型分类
在Bash中,变量的默认类型都是字符串型
字符串型
整型2012上海高考数学
浮点型
⽇期型
3. 变量的分类
⽤户⾃定义变量
⽤户⾃⼰定义的变量名
环境变量主要保存的是和系统操作环境相关的数据。
变量可以⾃定义,但是对系统⽣效的环境变量名和变量作⽤是固定的。
位置参数变量
位置参数变量主要是⽤来向脚本当中传递参数或数据的。马达加斯加2电影
变量名不能⾃定义,变量作⽤是固定的。
预定义变量
预定义变量是 bash 中已经定义好的便令。
变量名不能⾃定义,变量作⽤是固定的。
⼆、⽤户⾃定义变量
1. 定义变量
语法
变量名="变量值"
说明
等号两边不能有空格
变量只在当前的 bash 中⽣效
实例
[root~]# age=18
天宝系[root~]# name="zhang san"
2. 变量调⽤
语法
$变量名
说明
调⽤变量需要在变量名前加 $
变量的默认类型都是字符串型,所以⽆法直接做 +, - 等运算操作
赋值时引⽤变量,可使⽤ "$变量名" 或 ${变量名}
赋值时引⽤变量,若要在值两边使⽤引号,则必须使⽤双引号,若使⽤单引号,则单引号内的变量不会转换成变量值实例
调⽤变量需要在变量名前加 $
[root~]# echo $name
zhang san
变量的默认类型都是字符串型,所以⽆法直接做 +, - 等运算操作
[root~]# x=1
[root~]# y=2
[root~]# z=$x+$y
[root~]# echo $z
1+2
赋值时引⽤变量,可使⽤ "$变量名" 或 ${变量名}
[root~]# a=hel
[root~]# b="$a"lo内肋管
[root~]# echo $b
hello
当变量值中间有空格时,要⽤引号包裹。赋值时引⽤变量,必须使⽤双引号
[root~]# c="${b} world"
[root~]# echo $c
hello world
赋值时引⽤变量,若使⽤单引号,则单引号内的变量不会转换成变量值
${b} world
3. 变量叠加
实例
[root~]$x=123
[root~]$echo $x
123
[root~]$x=${x}456
[root~]$echo $x
123456
[root~]$x="$x"789
[root~]$echo $x
123456789
4. 变量查看
语法
set [选项]
选项
-u:如果设定此项,调⽤未声明的变量时会报错(默认⽆任何提⽰)
实例
m 赋值为空字符串,n 未定义。默认情况下,echo $m 和 $n,都没有任何提⽰[root~]# m=''布音
[root~]# echo m
m
[root~]# echo $m
[root~]# echo $n
set -u 后,echo $n 会报错
[root~]# set -u
[root~]# echo $m
[root~]# echo $n
bash: n: unbound variable
5. 变量删除
语法
unset 变量名
[root~]# x=hello
[root~]# echo $x
hello
[root~]# unset x
[root~]# echo $x
bash: x: unbound variable
三、环境变量
1. 环境变量和⽤户⾃定义变量的区别
环境变量是全局变量;
⽤户⾃定义变量是局部变量。
⽤户⾃定义变量只在当前shell中⽣效;
环境变量在当前shell和这个shell的所有⾃shell中⽣效。
2. 设置环境变量
export 变量名=变量值
变量名=变量值
export 变量名
实例
[root~]# export xxx=env
[root~]# env | grep xxx
xxx=env
[root~]# yyy=env
[root~]# export yyy
[root~]# env | grep yyy
yyy=env
[root~]# yyy=yyy
[root~]# env | grep yyy
yyy=yyy
3. 查看环境变量
set:查看所有变量
env:只查看环境变量
实例
HOSTNAME=10.0.2.15
SHELL=/bin/bash韩国超级盔甲
TERM=cygwin
HISTSIZE=1000
OLDPWD=/home/vagrant
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00 ... 36:*.xspf=00;36:
SUDO_USER=vagrant
SUDO_UID=1001
USERNAME=root
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAIL=/var/spool/mail/vagrant
PWD=/root
LANG=en_US.UTF-8
SHLVL=1
SUDO_COMMAND=/bin/su
HOME=/root
LOGNAME=root
LESSOPEN=||/usr/bin/lesspipe.sh %s
SUDO_GID=1001
_=/bin/env
4. 删除环境变量
unset 变量名
环境变量在当前shell和这个shell的所有⾃shell中⽣效。在⼦shell中删除或者修改环境变量,并不能影响⽗shell中的环境变量实例
定义环境变量 xxx 和 yyy
[root~]# export xxx=xxx
[root~]# export yyy=yyy
[root~]# env
xxx=xxx
yyy=yyy
进⼊⼦shell,环境变量 xxx 和 yyy 依然有效

本文发布于:2024-09-21 19:42:52,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/257971.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:变量   变量名   定义   环境变量   不能
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议