首页 > 其他分享 >学习笔记第十七天

学习笔记第十七天

时间:2024-08-04 22:26:30浏览次数:12  
标签:count 脚本 执行 变量 笔记 echo 学习 命令 第十七

1.Shell基本语法

        1.注释:以#符号开始,直到行末,用于解释代码或暂时禁用某行代码。

        2.命令:如echols等,用于执行系统命令或调用外部程序。

        3.控制结构:包括if语句、for循环、while循环等,用于控制脚本的流程。

2.创建和执行脚本

        1.创建脚本文件:使用文本编辑器(如vim、nano等)创建脚本文件,通常命名为xxx.sh

        2.指定解释器:脚本的第一行通常是#!/bin/bash(或其他Shell路径),指定了执行该脚本时

使用的解释器。

        3.保存脚本:将编辑好的脚本内容保存至文件中。

        4.添加执行权限:通过chmod +x xxx.sh命令给脚本文件添加可执行权限。

        5.执行脚本:在脚本文件所在的目录下,通过./xxx.sh命令执行脚本。

3.变量和命令

        1.变量定义:变量名=值(注意等号两边不能有空格),如a=0

        2.使用变量:通过$变量名来引用变量的值,如echo $a

3.输入

        3.1从命令行读取参数:$1$2等,分别代表第一个、第二个参数。

        3.2从用户读取输入:使用read命令。

4.输出

        4.1echo:用于打印字符串。如果字符串中包含变量,使用$变量名来打印变量的值。        

        4.2单引号'':里面的内容会被当作普通字符串处理,变量不会被解析。

        4.3双引号"":里面的内容会被处理,变量会被解析为其值。        

        4.4反引号:`命令`(注意不是单引号),会执行其中的命令并将输出结果替换到当前位置。

4.Shell脚本比较运算符

  • -eq:等于
  • -ne:不等于
  • -gt:大于
  • -lt:小于
  • -ge:大于等于
  • -le:小于等于

5.expr

Shell脚本中可以使用expr命令进行基本的算术运算,但需要注意乘法运算符*expr中需要转义(\*),或者将表达式放在双引号中以避免被Shell解释。

6. if-else 语句

if [ 条件表达式 ]

then
    # 条件为真时执行的命令
else
    # 条件为假时执行的命令
fi

#!/bin/bash
if [ $a -eq $b ]
then
    echo "a 等于 b"
else
    echo "a 不等于 b"
fi

7. while 语句

while [ 条件表达式 ]

 do
    # 执行的命令
done

#!/bin/bash
count=1
while [ $count -le 5 ]
do
    echo "这是第 $count 次循环"
    count=$((count + 1))
done


8. for 语句

for 变量 in 列表

do
    # 执行的命令
done

#!/bin/bash
for i in 1 2 3 4 5
do
    echo "这是 $i"
done

9. case 语句


case 变量 in
    模式1)
        # 命令...
        ;;
    模式2)
        # 命令...
        ;;
    *)
        # 默认命令
        ;;
esac

read num
case $num in
    1) echo "你选择了 1";;
    2) echo "你选择了 2";;
    *) echo "无效选择";;
esac

10. until 语句

until [ 条件表达式 ]

do
    # 执行的命令
done

count=1
until [ $count -gt 5 ]
do
    echo "这是第 $count 次循环"
    count=$((count + 1))
done

标签:count,脚本,执行,变量,笔记,echo,学习,命令,第十七
From: https://blog.csdn.net/m0_69699758/article/details/140912490

相关文章

  • 【机器学习】线性回归和逻辑回归的关系以及LinearRegression、LogisticRegression两种
    引言线性回归和逻辑回归是机器学习中两种常用的回归分析方法,它们在应用、性质和目的等方面存在显著差异文章目录引言一、线性回归1.1定义与目的1.2公式与计算1.3应用场景1.4特点与要求二、逻辑回归2.1定义与目的2.2公式与计算2.3应用场景2.4特点与要求三、......
  • 扩散模型在机器学习中的应用及其挑战
    扩散模型在机器学习中的应用及其挑战大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!扩散模型(DiffusionModels)是一类近年来在机器学习领域获得广泛关注的生成模型。这些模型在生成任务中的表现尤为突出,包括图像生成、图像恢复和文本生成等。尽管扩散......
  • 《802.11无线网络权威指南-无线网络导论》-- 读书笔记1
    专业术语发射塔:celltower,指信号发射塔基站,接入点:accesspoint无线数据网络:wirelessdatanetwork基站:basestationauthorization:授权,认证serviceprovider:服务供应商hotspot:热点WAN:广域网络infraredlight:红外线频带:frequencyband带宽:bandwidth,即可供使用的频率......
  • KMP学习笔记
    KMP一种字符串单模匹配算法。原理当模式串\(s\)与文本串\(t\)进行匹配时,容易想到的一种朴素做法就是将模式串的第一位与文本串的每一位进行试配。但是这样效率过低,容易被数据卡成\(O(n^2)\)。KMP单模匹配算法引入了一个失配数组border。定义一个字符串的border为一......
  • QT 笔记
     HTTPSSSL配置下载配置子父对象QTimer*timer=newQTimer;//QTimerinheritsQObjecttimer->inherits("QTimer");//returnstruetimer->inherits("QObject");//returnstruetimer->inherits("QAbstractBut......
  • Java学习-Day5
    一、标识符含义:Java标识符是用来命名类、变量、方法以及其他的编程元素的名字。标识符命名规则:标识符可以由字母,美元符号($)和下划线(_)组成。不能以数字开头。区分大小写:例如myVar 和 myvar 是两个不同的标识符。不能是关键字:例如 int , class,public 等。不能包含空格......
  • 【学习笔记】哈希
    【学习笔记】哈希Hash的核心思想在于,将输入映射到一个值域较小、可以方便比较的范围。主要用来判重!如何辨别哈希题?大概就通过一句话:当需要用\(O(1)\)的时间快速比较两个\(O(n)\)的东西时。应该对大部分题目都生效。字符串哈希感觉这一块OI_wiki讲得比较清楚。通常我......
  • 第二周--多维特征/2022吴恩达机器学习课程
    示例在先前的模型中,只有一个特征值x(房子的大小),你可以预测y,房子的价格。但是现在你又知道了多个细节。所以我们就需要更多的符号去表示对于的特征,如下:模型对比寻找一种更简单的方法重新写该表达式。向量这种算法叫多元线性回归为了实现这一点,我们有一个技巧叫矢量化......
  • 【机器学习】正则化的基本概念以及正则化成本和梯度的示例
    引言在机器学习中,正则化(Regularization)是一种技术,用于减少模型复杂度,防止过拟合,并提高模型的泛化能力。通过在损失函数中添加一个额外的惩罚项,正则化鼓励模型学习更简单、更平滑的函数,从而在未见过的数据上表现得更好文章目录引言一、正则化1.1正则化的形式1.1.1L1......
  • Python pymodbus类库使用学习总结
    实践环境Python3.9.13https://www.python.org/ftp/python/3.9.13/python-3.9.13-amd64.exepymodbus-3.6.8-py3-none-any.whlhttps://files.pythonhosted.org/packages/35/19/a9d16f74548d6750acf6604fa74c2cd165b5bc955fe021bf5e1fa04acf14/pymodbus-3.6.8-py3-none-any.whl......