大白话讲【3】shell脚本-redhat 9

个人理解shell脚本像积木,每个零件掌握,拼凑成一个整体。

1.Shell脚本长什么样子?正常是以 XXX.sh结尾的文件

 1.1shell简介

     shell介于内核与用户之间,负责命令的解释

 1.2 shell的种类

[root@lili ~]# cat /etc/shells   
/bin/sh             #是bash的一个快捷方式
/bin/bash         #linux默认的shell
/usr/bin/sh
/usr/bin/bash

1.3shell脚本的基本写法

2. Shell脚本怎么执行

2.1标准脚本执行方式(建议)

注意:标准执行脚本必须要有可执行权限

2.1.1 绝对路径执行

2.1.2 相对路径执行

2.2非标准脚本执行方式(不建议)

应用场景: 没有使用脚本权限,想看下脚本执行过程或想看下脚本语法

2.2.1 直接在命令行指定解释器执行

2.2.2 使用source,命令读取脚本文件,执行文件里的代码

引申:

        脚本执行过程  [root@lili ~]# bash -x first.sh

        检查脚本语法  [root@lili ~]# bash -n first.sh

3.shell模块

3.1通配符

       * :匹配0或多个任意字符 大白话就是所有

      [ list ]   :匹配[ list ]中任意单个字符      举例:[冬西南]瓜 可以表示 冬瓜,西瓜,南瓜

      [ a-z ]    : 指定范围内的任意单个字符;表示从a到z的任意一个数

      [ !list ]  : 匹配除[ list ]中任意单个字符 

      {string1,string2,...}  :匹配string1,string2或更多字符串。

      ?:匹配任意单个字符(英文标点下的问号)

            ?可以代表任意单个字符,输入几个?就代表几个任意字符。

                  举例   ?瓜 可以表示 冬瓜,西瓜,南瓜等

                             ??瓜 可以表示 哈密瓜,大西瓜等

3.2bash中的引号

     双引号""  :会把引号的内容当成整体来看待,允许通过¥符号引用其他变量值

     单引号''   : 会把引号的内容当成整体来看待,禁止引用其他变量值,shell中特殊符号都被视为普通字符

     反撇号``  :反撇号和$()一样,引号或括号里的命令会优先执行,如果存在嵌套,反撇号不能用。

3.3变量

一句话概括:变量是用来临时保存数据的,改数据是可以变化的数据。

3.3.1什么时候需要定义变量?(两种情况)

  1.如果某个内容需要多次使用,并且在代码中重复出现,那么可以用变量代表该内容。这样在修改内容的时候,仅仅需要修改变量的值。

  2.在代码运作的过程中,可能会把某些命令的执行结果保存起来,后续代码需要使用这些结果,就可以直接使用这个变量。

3.3.2 变量如何定义?

变量名=变量值

变量名:用来临时保存数据的 ;变量值:就是临时的数据

[root@newhost ~]# A=hello    定义变量A
[root@newhost ~]# echo $A    调用变量A,要给美元
[root@newhost ~]# echo ${A}   还可以这样调用,不管你的姿势多优雅,总之要给钱
[root@newhost ~]# A=world    因为是变量所以可以变,移情别恋是常事
[root@newhost ~]# unset A 不跟你完了,取消变量

变量定义规则

1.变量名区分大小写

2.变量名不能有特殊符号(特别说明:对于有空格的字符串给变量赋值时,要用引号引起来)

[root@newhost ~]# A="hello world"

[root@newhost ~]# A='hello world'
3.变量名不能以数字开头

4.等号两边不能有任何空格

5.变量名尽量做到见名知意

3.3.3变量的定义方式有哪些?

1.基本方式 (直接赋值给一个变量)

--引申   $变量名 和 ${变量名}的区别

          相同点:都可以调用变量

           不同点: ${变量名}  可以只截取变量的一部分,而$变量名不可以

[root@newhost ~]# A=1234567
[root@newhost ~]# echo $A
1234567
[root@newhost ~]# echo ${A:2:4}    表示从A变量中第3个字符开始截取,截取4个字符
3456
[root@newhost ~]#
2.命令执行结果赋值给变量

[root@newhost ~]# B=`date +%F`
[root@newhost ~]# echo $B
2024-08-21
[root@newhost ~]# C=$(uname -r)
[root@newhost ~]# echo $C
5.14.0-70.13.1.el9_0.x86_64

3.交互式定义变量(read)

目的:让用户自己给变量赋值,比较灵活。

语法:read [选项] 变量名

常见选项:

-p        定义提示用户的信息

<

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
卷积神经网络(CNN)是一种常用于图像处理和模式识别的深度学习模型。它的设计灵感来自于生物学中视觉皮层的神经元结构。为了用通俗的语言解释CNN,我们可以用以下方式来理解它: 假设你要识别一张猫的图片。首先,你的大脑会将这张图片的像素点转化成一系列数字,并且记录下它们的位置和颜色。然后,大脑会将这些数字输入到“卷积层”中。 在卷积层中,会有很多个“过滤器”。这些过滤器可以视为一双眼睛,它们通过抓取图片的不同特征来帮助你识别物体。每个过滤器都在图片上滑动并计算一个“特征图”,这个特征图描述了所检测到的特定特征。例如,一个过滤器可以检测到猫的边缘,另一个可以检测到猫的颜色等等。当所有过滤器完成计算后,就会得到一些不同的特征图。 在“池化层”中,每个特征图都会被压缩,去除一些不重要的信息。这样可以减少需要计算的数据量,并且使得特征更加鲁棒和不变形。 最后,在全连接层中,所有的特征图都被连接起来,形成一个巨大的向量。接下来,这个向量会通过一些神经元节点,最终输出识别结果,也就是“这是一张猫的图片”。 CNN的一个重要特点是参数共享,这意味着每个过滤器会在整个图片上进行计算,而不仅仅是某个局部区域。这样可以减少需要计算的参数量,提高训练速度和模型的泛化能力。 总结一下,CNN通过卷积层来提取图像的特征,并通过池化层降低特征的维度。最后,通过全连接层将所有特征连接起来并输出结果。这种结构使得CNN非常适合于图像分类和识别任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值