第五次

news/2024/11/21 1:34:28/

1.总结变量的类型及含义

含义:顾名思义,变量就是程序设计语言中的一个可以变化的量,当然,可以变化的是变量的值。几乎所 有的程序设计语言中都有定义变量,并且其涵义也大同小异。从本质上讲,变量就是在程序中保存用户 数据的一块内存空间,而变量名就是这块内存空间的地址。 在程序的执行过程中,保存数据的内存空间的内容可能会不断地发生变化,但是,代表内存地址的 变量名却保持不变。

类型:

(1)局部变量(普通变量):只在某个特定范围生效的变量,比如只能在当前进程中使用的变量,只能 在函数中使用的变量。 在命令行设置:在当前进程生效 在脚本文件中设置:在脚本文件中生效 在函数中定义普通变量: local var="value" ,只在当前函数中生效 在用户登录时加载的文件中设置:在脚本文件中无法使用

(2)全局变量(环境变量):可以在创建他们的shell及其派生出来的子进程中使用(su 切换用户的时 候会读取新的环境变量)。 自定义环境变量和bash内置的环境变量。 自定义环境变量 export var 或 export var="value" declare -x var="value" , declare +x var 可取消环境变量 bash内置环境变量 shell程序在运行时,会接受一组变量来确定登录用户名、命令路径、终端类型、登录目录等等,这 些变量就是环境变量。shell内置的环境变量是所有的shell程序都可以使用的变量,环境变量会影 响所有的脚本的执行结果。

2.实现课堂案例计算长方形面积?(6种方式)

[root@localhost yaoxinli]# vim s.sh
    #!/bin/bash
    c=3
    k=2
    s1=$((c*k))
    echo s1=$s1 
    s2=$[c*k]
    echo s2=$s2
    declare -i s3=$c*$k
    echo s3=$s3
    s4=`expr $c \* $k`
    echo s4=$s4
    s5=`echo $c*$k | bc`
    echo s5=$s5
    awk 'BEGIN{ c=3;k=2;print"s6=",c*k }'
    let s7=$c*$k
    echo s7=$s7
[root@localhost yaoxinli]# bash s.sh
    s1=6
    s2=6
    s3=6
    s4=6
    s5=6
    s6=6
    s7=6

3.定义变量url=https://blog.csdn.net/weixin_45029822/article/details/103568815(通过多种方法实现)
1)截取网站访问的协议

1.变量字符串截取
echo ${url:0:5}
# https

2.变量切片
echo ${url%:*}    # 从右往左 , " # "从左往右
# https

3.expr    # expr substr 字符串 起始位置 截取长度
expr substr $url 1 5
# https

4.cut命令的使用
echo $url | cut -nb 1-5     #字符截取
# https
echo $url | cut -d : -f 1    #区域截取
# https
2)截取网站访问账号信息

1.cut命令的使用
echo $url | cut -d / -f 4    # -f 选择区域四
# weixin_45029822

2.expr命令
expr substr $url 23 15    # 起始 长度
# weixin_45029822

3.变量切片
tmp=${url#*net/} 
echo ${tmp%%/*}        # 最长匹配
# weixin_45029822

4.变量字符串截取
echo ${url:22:15}    # {变量:起始:长度}
# weixin_45029822
 


http://www.ppmy.cn/news/103467.html

相关文章

Linux:centos:计划任务管理《at》

date 查看当前时间或管理时间 年-月-日 周几 时间 时间标准 如果想把他改成2024年6月1日12:30 使用 date 060112302024 06 6月 01 1日 1230 12:30 2024 2024年 使用at之前要安装他 有些用户没有安装的情况下 最好使…

Bitcoin Core 25.0已发布;以太坊Geth发布v1.12.0版本;BNB链将进行Luban升级|Tokenview

一周速览: Bitcoin Core 25.0 已正式发布; 以太坊 客户端Geth发布 v1.12.0 版本; 以太坊客户端 Prysm 推出 v4.0.5 版本; BNB Chain 将于区块高度 29,020,050 处进行网络升级Luban 01 BTC Bitcoin Core 25.0 已正式发布 Bitcoi…

【Atlas200】使用sendData及getResult接口进行pipline目标检测框数据读取(C++)

目录 简介读取主函数pipline文件安装json解析类RapidJSON使用RapidJSON解析json输出结果简介 当今,人工智能技术已经渗透到我们生活的方方面面,其中目标检测技术是非常重要的一种技术。目标检测技术可以对图像或视频中的物体进行识别和定位,是实现自动驾驶、智能监控等众多…

SQL性能优化的几个思路(二)

最近又总结了一批SQL性能优化的方法,大家可以参照着做。前一次的优化思路在这里: SQL性能优化的几个思路 1、WHERE、JOIN的字段,能用主表字段就用主表字段,比如下面这样: SELECT * FROM A --主表INNER JOIN B ON A.…

SQL优化基础教程

我们要做到不但会写SQL,还要做到写出性能优良的SQL语句。 (1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving…

Vue3基于 rem 比例缩放方案

本缩放方案置于hooks中即可。于App.vue中引入并调用。会在页面DOM结构最外层增加响应式的font-size属性样式更改。 主要包含了以下内容 接口和类型定义: DesignParms:设计稿参数的接口定义,包括宽度、高度和字体大小等信息。UseRemOption&…

详解MySQL主从复制

目录 1.概述 2.配置使用 2.1.master配置 2.2.slave配置 2.3.认主 2.4.确认认主结果 3.请求分发 3.1.概述 3.2.手动分发 3.2.1.原生JDBC 3.2.2.数据源 3.2.3.中间件 1.概述 在实际的数据密集型应用中,数据库层面往往呈现两个特点: 单点数据…

3D EXPERIENCE“热知识” | 如何使用3D EXPERIENCE平台上的问题管理?

3D EXPERIENCE 平台上的问题管理对任何组织都是有用的工具,无论其规模大小。无论是使用它来标记和分发PDF还是在车间和工程部门之间分享想法,问题管理都可以简化日常活动。简而言之,它会根据权限列出现有问题,并让用户创建新问题&…