学习笔记第十八天

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
相关推荐
2601_967264287 分钟前
极客时间 AI Agent 全栈工程师训练营,全套学习资源齐全
人工智能·学习
薛定e的猫咪10 分钟前
(NeurIPS 2022)GraphGPS:MPNN 与全局注意力的融合之道
人工智能·深度学习·学习·算法
Z59981784113 分钟前
c#软件开发学习笔记--WPF(Canvas、数据绑定、MVVM模式、值转换器)
笔记·学习·c#
茯苓gao14 分钟前
从零开发 EtherCAT 主站(六):SOEM 初始化流程详解,主站是如何发现所有从站的?
笔记·嵌入式硬件·学习·信息与通信
老当益壮梁奶奶26 分钟前
Linux软件编程学习笔记(九):消息队列、共享内存与信号灯详解
linux·c语言·笔记·学习
MartinYeung529 分钟前
[论文学习]激活差异揭示后门:SAE架构对比研究
人工智能·学习·架构
小雪崩31 分钟前
嵌入式学习 day35:进程间通信-消息队列、共享空间及有名信号量
linux·c语言·学习
从零开始的嵌入式之旅44 分钟前
day33
linux·c语言·经验分享·笔记·嵌入式硬件
一条破秋裤2 小时前
STM32 学习笔记:STM32 简介与学习路线
笔记·stm32·学习
念何架构之路2 小时前
Gin辅助模块与学习路径
学习·gin