0
点赞
收藏
分享

微信扫一扫

shell脚本入门到实战(三) - 变量


文章目录

  • ​​变量分类​​
  • ​​定义变量​​
  • ​​变量取值​​
  • ​​取消变量 unset​​
  • ​​扩展知识​​
  • ​​1)取出一个目录下的目录和文件:dirname和 basename​​
  • ​​2)变量"内容"的删除和替换​​

变量分类

系统中的变量根据作用域及生命周期可以分为四类:本地变量、环境变量、全局变量、内置变量

1、本地变量
用户自定义的变量,定义在脚本或者当前终端中,脚本执行完毕或终端结束变量失效。

2、环境变量(​​用户私有变量​​​)
定义在用户家目录下的.bashrc或.bash_profile文件中,用户私有变量,只能本用户使用。

3.全局变量
使用export命令将本地变量输出为当前shell中的环境变量
所有用户及shell都可以使用,可以在/etc/profile /etc/bashrc下永久定义.

定义变量

变量格式: 变量名=值
注意:​​​=左右不能有空格​​​​变量名命名规则​​:

  • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
  • 中间不能有空格,可以使用下划线(_)。
  • 不能使用标点符号。
  • 不能使用bash里的关键字(可用help命令查看保留关键字)。
  • shell脚本入门到实战(三) - 变量_bash

变量赋值,此种方法设置为本地变量
[root@zutuanxue ~]# name="baism"
[root@zutuanxue ~]# school='ayitula'
[root@zutuanxue ~]# age=30
[root@zutuanxue ~]# score=88.8

变量取值

读取变量内容符: 读取方法:变量名

变量内容读出
[root@zutuanxue ~]# echo $name
baism
[root@zutuanxue ~]# echo $school
ayitula
[root@zutuanxue ~]# echo $age
30
[root@zutuanxue ~]# echo $score
88.8

取消变量 unset

取消当前环境中的变量,如果是变量设置是保存在文件中,下次重启又会恢复.

shell脚本入门到实战(三) - 变量_运维_02

扩展知识

1)取出一个目录下的目录和文件:dirname和 basename

# A=/root/Desktop/shell/mem.txt 
# echo $A
/root/Desktop/shell/mem.txt
# dirname $A 取出目录
/root/Desktop/shell
# basename $A 取出文件

2)变量"内容"的删除和替换

一个“%”代表从右往左去掉一个/key/
两个“%%”代表从右往左最大去掉/key/
一个“#”代表从左往右去掉一个/key/
两个“##”代表从左往右最大去掉/key/

# url=www.taobao.com  
# echo ${#url} //14 获取变量的长度
# echo ${url#*.} //taobao.com 以分隔符.界限 *匹配所有
# echo ${url##*.} //com
# echo ${url%.*} //www.taobao
# echo ${url%%.*} //www


举报

相关推荐

0 条评论