一、什么是变量
顾名思义,变量就是程序设计语言中的一个可以变化的量,当然,可以变化的是变量的值。变量几乎所有的程序设计语言中都有定义,并且其涵义也大同小异。从本质上讲,变量就是在程序中保存用户数据的一块内存空间而变量名就是这块内存空间的地址。
在程序的执行过程中,保存数据的内存空间的内容可能会不断地发生变化,但是,代表内存地址的变量名却保持不变。
二、变量的命名
在Shell中,变量名可以由字母、数字或者下划线组成,并且只能以字母或者下划线开头。对于变量名的长度,Shell并没有做出明确的规定。因此,用户可以使用任意长度的字符串来作为变量名。但是,为了提高程序的可读性,建议用户使用相对较短的字符串作为变量名。
在一个设计良好的程序中,变量的命名有着非常大的学问。通常情况下,用户应该尽可能选择有明确意义的英文单词作为变量名,尽量避免使用拼音或者毫无意义的字符串作为变量名。这样的话,用户通过变量名就可以了解该变量的作用。
三、变量的分类
自定义变量(本地变量)-仅在当前终端生效 环境变量-当前终端及所有子shell下生效
(局部变量) (全局变量)
在Shell中,通常情况下用户可以直接使用变量,而毋需先进行定义,当用户第一次使用某个变量名时,实际上就同时定义了这个变量,在变量的作用域内,用户都可以使用该变量。
变量定义示例:变量名=变量值
注意: ** “=”前后不能有空格
**字符串类型建议用引号括起来,尤其是特殊字符或有空格
四、长方形的面积
[root@localhost ~]# vim a.sh
#!/bin/bash
l=10
w=2
第一种方式:
s1=$l((l*w))
echo 1-------$s1
第二种方式:
let s2=$l*$w
echo 2-------$s2
第三种方式:
s3='expr $l \* $w'
echo 3-------$s3
第四种方式:
s4 = 'echo $l*$w | bc'
echo 4-------$s4
第五种方式:
s5=$[l*w]
echo 5-------$s5
第六种方式:
declare -i s6=$l*$w
echo 6-------$s6
第七种方式:
awk 'BEGIN{i=10;j=2;print i*j}'
[root@localhost ~]# bash -n a.sh 进行语法检测
[root@localhost ~]# bash a.sh 执行
五、定义变量url=https://blog.csdn.net/weixin_45029822/article/details/103568815(通过多种方法实现)
1、截取网站访问的协议
[root@localhost ~]# echo ${url#*:}
//blog.csdn.net/weixin_45029822/article/details/103568815
[root@localhost ~]# basename $url
103568815
2、截取网站访问账号信息
[root@localhost ~]# echo ${url:6}
//blog.csdn.net/weixin_45029822/article/details/103568815
[root@localhost ~]# basename $url
103568815