嵌入式Linux之Ubuntu学习笔记(shell脚本入门)

1.什么是shell脚本

我们已经能够熟练的在终端中输入命令来完成一些常用的操作,但是我们都是一条一条的输入命令。这样会很麻烦,那么有没有一种方式可以将很多条命令放到一个文件里面,然后直接运行这个文件即可?肯定有,这个就是shell脚本!

shell脚本类似windows的批处理文件,shell脚本就是将连续执行的命令写成一个文件。

shell脚本提供数组,循环,条件判断的等功能。shell脚本一般是Linux运维或者系统管理员要掌握的,作为嵌入式开发人员,只需要掌握shell脚本最基础的部分即可。

2.shell脚本写法

shell脚本是个纯文本文件,命令从上而下,一行一行的开始执行,shell脚本扩展名为.sh。shell脚本第一行一定要为:#!/bin/bash

表示要使用bash。

3.shell脚本语法

1.第一个shell脚本

echo的意思是输出

hello写错了不必在意哈哈哈

2.交互式shell脚本

read。

3.shell脚本的数值计算

shell仅支持整形,数值计算使用**$((表达式))**。

第3第4行的first和second前一定要加空格!!!!!

第5行total后面的=号也不能有空格!!!!!!

4.test命令

test命令用于查看文件是否存在,权限等信息,可以进行数值,字符,文件三方面的测试。

&&和||命令:cmd1&&cmd2当cmd1执行完并且正确,那么cmd2开始执行,如果cmd1执行完毕错误,那么cmd2不执行。村民的cmd1||cmd2当cmd1执行完毕并正确,那么cmd2不执行,反之cmd2执行。

5.中括号[]判断符

\] 里只能输入**==** 或 **!=** ![](https://file.jishuzhan.net/article/1743123902529277954/e3b6536b8f814ddfd536302728f751dc.webp) ### 6.默认变量 $0-$n:表示shell脚本的参数,包括shell脚本命令本身,shell脚本命令本身为$0; $#:#表示最后一个参数的标号; $@:表$1,$2,$3 ![](https://file.jishuzhan.net/article/1743123902529277954/cb24ba0b247e88a7e1c33f5ca3a5f204.webp) ![](https://file.jishuzhan.net/article/1743123902529277954/3078b4a0a3ecf3d632cc24ec24d15492.webp) 第6行应该是second,但是无所谓不必在意。

相关推荐
xlp666hub14 小时前
Leetcode第五题:用C++解决盛最多水的容器问题
linux·c++·leetcode
张宏23615 小时前
原子操作 (基于Linux 应用层 C 语言)
linux
kymjs张涛1 天前
OpenClaw 学习小组:初识
android·linux·人工智能
程序设计实验室1 天前
经历分享,发现挖矿木马后,服务器快速备份与重装(腾讯云平台)
linux
Miku161 天前
OpenClaw-Linux+飞书官方Plugin安装指南
linux·人工智能·agent
Miku161 天前
OpenClaw 接入 QQ Bot 完整实践指南
linux·人工智能·agent
Yogurt_cry2 天前
[树莓派4B] 闲置近10年的爱普生 L310 打印机爆改无线打印机
linux·物联网·树莓派
Johny_Zhao3 天前
OpenClaw中级到高级教程
linux·人工智能·信息安全·kubernetes·云计算·yum源·系统运维·openclaw
Sheffield3 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield4 天前
Alpine是什么,为什么是Docker首选?
linux·docker·容器