目录
三,定义变量url=https://blog.csdn.net/weixin_45029822/article/details/103568815(通过多种方法实现)
一,.总结变量的类型及含义
1.自定义变量
含义:仅在当前终端生效.
2.环境变量
含义:在所有shell中生效,但是重启ssh连接将会重置(即重新按照定义的变量文件加载)
name=zhangsan
export age=13
bash 代表开启子shell
让变量永久生效 vim /etc/bashrc
name=zhangsan
export age=14
不会立即生效,需要加载bashshell程序即:bash a.sh a b c
3.位置变量
含义: 将传入的参数按照要求显示 ,即按照传入参数的位置信息,输出
cat a.sh
$1
$3
$6
bash a.sh 1,2,3,4,5,6
4.预定义变量
含义: 便捷式对shell的操作.
$0 # 显示当前脚本文件名
$* # 全返
$@ # 单返
$# # 返回参数的个数
$$ # 当前进程的PID
$! # 上一个后台进程的
$? # 返回上一个命令的执行状态
# 相关操作
(1) 引用变量: $变量名 或者 ${变量名}
(2) 查看变量: echo $变量名 set env printenv
(3) 取消变量: unset 变量名
二,实现课堂案例计算长方形面积?(6种方式)
[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 ~]# url=https://blog.csdn.net/weixin_45029822/article/details/103568815
第一种方式:
[root@localhost ~]# echo ${url:0:5}
https
第二种方式:
[root@localhost ~]# echo ${url%:*}
https
第三种方式:
[root@localhost ~]# echo $url | cut -d : -f 1
https
2.截取网站访问账号信息
[root@localhost ~]# url=https://blog.csdn.net/weixin_45029822/article/details/103568815
第一种方式:
[root@localhost ~]# echo ${url:6}
//blog.csdn.net/weixin_45029822/article/details/103568815
第二种方式:
[root@localhost ~]# echo ${url#*:}
//blog.csdn.net/weixin_45029822/article/details/103568815
第三种方式:
[root@localhost ~]# basename $url
103568815