shell基础

蓝桥杯嵌入式(基础教程)STM32G431RBT6——创建工程以及点灯 首先选择正确的芯片类型:STM32G431RBT6工程的创建主要有配置时钟以及烧录的方式。在配置好之后需要对时钟进行配置,由于蓝桥杯的外部晶振是24MHz因此需要对时钟树进行相应的配置。第一步先点击时钟配置之后就可以对时钟进行相应的配置了最后一步,需要对工程起一个名字,并且要选择KEIL做为其相应的软件之后再需要再生成代码那里进行相应的控制。当然这样根据生成的工程不能直接使用会有一个报错,所以需要添加一个启动文件。这个启动文件可以在官方的LCD文件夹下复制到自己的工程中。 阅读详情

shell基础

一、文件的创建与执行

1.创建文件first.sh,写入如下内容:


2.执行该文件:

执行该文件时,我们会发现,,所执行文件并没有成功,而且会显示有关权限的县官问题。

注意:一定要写成./first.sh,而不是first.sh,运行其他二进制程序也是一样的,直接写成first.sh,linux系统会去PATH里寻找有没有叫first.sh的,二只有/bin,/sbin,/usr/bin,/usr/sbin等在PATH里,自己的当前目录通常不在PATH里,所有写成first.sh是会找不到的命令的,要用./first.sh告诉系统说,就在当前目录找。


3.对显示结果进行分析,发现是缺少执行权限,使用chmod对带文件添加权限并执行:

4.解释执行本质原理

        a)使用chmod u+x first.sh会fork一个子进程并调用exec执行./first.sh这个程序,exec系统调用应该把子进程代码段替换成./first.sh程序的代码段,并从它的_start开始执行。

        b)然而first.sh是一个文本文件,,根本没有代码段和_start函数!如果要执行的是一个文本文件,并且第一行用shebang指定了解析器,则用解析器程序的代码替换当前进程,并且从解析器的_start开始执行,而这个文本文件被当作命令行参数传给解析器。

二、shell执行过程

1.交互Shell(bash)fork/exec一个子shell用来执行脚本,父进程bash等待子进程sh终止;

2.sh读取脚本中的cd .. 命令,调用相应的函数执行内建命令,改变当前目录为上一级目录;

3.sh读取脚本中的ls命令,fork/exec这个程序,列出当前工作目录下的文件,sh等待ls终止;

4.ls终止后,sh继续执行,读取脚本文件末尾,sh结束;

5.sh终止后,bash继续执行,打印提示符等待用户输入。

特殊例子1:


解释:脚本执行cd命令,发现回显信息当前所处的目录发生改变,但实际上,真实目录并没有发生改变。这个也很好解释,毕竟要创建子进程来解释脚本。

特殊例子2:


解释:直接命令执行cd命令,发现父bash的工作目录发生了改变!说好的创建子进程呢?归根结底,执行命令,不一定要创建子进程!这些不需要创建子进程的命令。叫做shell的内置命令,有父bash直接执行。

特殊例子3:


解释:用source修饰脚本,脚本的执行影响到了父bash!source命令是shell的内建命令,这种方式也不会创建子shell,而是直接在交互shell下执行脚本中的命令。

三、shell中的变量

注:shell变量不需要提前定义,或者不牵扯到定义一说,需要时直接受使用即可。

1.赋值和命名规则

        命名规则:

        a)首个字母必须为字母;

        b)中间不能有空格,可以使用下划线;

        c)不能使用标点符号;

        d)不能使用bash中的关键字。

2.所有变量不需要先定义后使用,而是直接使用:


注:变量名和等号直接不能有空格!否则会被shell解释成命令和命令行参数。

四、shell中的基本操作

1.字符串的拼接


注:

        1.如果变量是一个新了变量名,二这个变量并没有被使用过,则显示为空;

        2.变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界。推荐给所有变量都加上花括号,这是一个好的编程习惯。

2.只读变量

        使用readonly命令可以将变量定义为只读变量,只读变量不能被改变:


3.删除变量


注:

        1.被删除了变量,内容将被清空,一般也是不在被使用的变量需要unset;

        2.unset不能删除只读变量

4.本地变量与环境变量


注:

        1.本地变量:局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量;

        2.环境变量:所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量;

        3.shell变量:shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行。

        4.一个变量定义后仅存在与当前shell进程 ,它是本地变量,用export命令可以把本地变量导出为环境变量。

5.提取与查找子字符串


6.文件名替换

        1.通配符*:匹配0个或多个任意字符;

        b)?:匹配一个任意字符;

        c)[若干字符]:匹配方括号中的任意一个字符的一次出现 

注:

        1.由反引号括起来的也是一条命令,shell先执行该命令,然后将输出结果立即替换到当前命令行中





K230目标识别数字提问:模型只能识别近距离的目标,稍远一点就无法正确检测...如何解决? 🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。 阅读详情

相关推荐

VCSA 6.7证书过期别慌!手把手教你通过SSH修改系统时间恢复登录(附STS证书修复脚本)

本文详细介绍了VCSA 6.7证书过期的应急处理方案,包括通过SSH修改系统时间临时恢复登录、全面更新证书体系以及专项修复STS证书的实战步骤。文章还提供了后期验证和系统加固的建议,帮助运维人员有效应对证书过期问题,确保虚拟化平台的稳定运行。

weixin_31292729的博客 415

shell 编程基础

shell编程基础

qq_67582098的博客 1882

学习stm32H7之路开始(STM32H7系列1) 前期准备,HAL库框架

2020.01.07 几个重要的参考网址 1.电子工程世界网 http://tags.eeworld.com.cn/tags/STM32H7 链接: link. 2.转:https://blog.csdn.net/simon223/article/list/2?t=1 链接: link. ———————————————— 版权声明:本文为优快云博主「Simon223」的原创文章,遵循 CC 4....

kengkengkeng963的博客 3410

shell基础语法

shell基础语法

Garfield0_0的博客 1157

如何用 Python 实现自动化测试?详细步骤和代码示例

Python自动化测试实战指南 本文系统介绍了使用Python构建自动化测试体系的完整方案。主要内容包括: 环境搭建:Python 3.8+虚拟环境配置,安装pytest、Selenium等核心测试库 分层测试实现: 单元测试:通过计算器示例演示pytest断言和异常测试 API测试:使用requests库进行RESTful接口验证 UI测试:Selenium WebDriver实现网页交互测试 高级特性: 使用fixture管理测试依赖 参数化实现数据驱动测试 生成HTML和Allure测试报告 GitH

m0_64424835的博客 451

硬件工程师的蜗牛成长路

1、《模拟电路课程》R/L/C/继电器/光耦/二极管/三极管/MOS管磁珠/ESD/TVS/肖特基二极管/稳压二极管/保险丝/GDT/TSS/光耦/MOS/运放/BJT比较器/面板开关/按键开关/拨码开关/BUCK/LDO/电源防护器件LM5069单输出PLL/多路输出PLL/单端晶振/差分晶振/晶体(这方面不熟悉,待以后补充)1)速度传感器2)温度传感器3)倾斜角传感器4)火焰传感器5)红外传感器6)呼吸心跳采集chaunganqi1)数字隔离 电平转换芯片/磁隔离/专用隔离芯片。

caozhaokun的博客 1982

Shell基础

交互式硬件设备是指能够与用户进行实时交互并响应用户输入的物理设备。这些设备通常与计算机系统或其他电子设备连接,通过输入和输出接口与用户进行信息交流。以下是一些常见的交互式硬件设备:键盘键盘是最常见的交互式输入设备之一,用户可以通过键盘输入文本、命令、数字等信息。键盘通常具有标准布局,包括字母、数字、符号键等,同时还可能包括专用功能键和快捷键。鼠标鼠标是一种常见的交互式指针设备,用户可以通过移动鼠标来控制屏幕上的光标位置,并通过点击鼠标按钮执行操作。

weixin_64447699的博客 1787

《用 R 探索医药数据科学》目录(持续更新,已超 250 万字)|订阅前说明

我们重磅推出《用 R 探索医药数据科学》专栏!本文作为专栏【订阅后首读】的核心内容,堪称开启学习之旅的 “入门钥匙”,也是整个专栏最关键的一篇指引文。文中不仅完整呈现了专栏 9 大核心篇章 + 问答板块的详细目录,更囊括了订阅后必知的核心要点 —— 从阅读设备、实操工具的使用建议,到学习路径、更新规则的清晰说明,再到问题反馈、感悟记录的实用方法,一站式帮你摸清专栏框架、找准学习方向。建议各位订阅者务必认真阅读、吃透内容,这能让你后续的学习更高效、少走弯!

MD Code 1万+

Shell脚本基础

shell 是一种脚本语言 脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译) shell 既是应用程序 又是一种脚本语言(应用程序 解析 脚本语言)打开文本编辑器(vi/vim),新建一个文件first.sh,扩展名为sh(sh代表shell)。扩展名并不 影响脚本执行。 运行Shell脚本方式1. 作为可执行程序 将上面的代码保存为first.sh,并cd到相应目录: $ chmod +x first.sh $ ./first.s

Z2460986913的博客 787

基于STM32设计的消防小车

当前基于STM32单片机设计了一款智能消防小车;当前小车支持烟雾浓度检测、可燃气体检测,环境温度湿度检测、火焰源检测、能支持远程遥控,方便消防员远程操控进行灭火。小车也支持自动消防,在行驶过程中,消防智能小车通过火焰传感器感应火源以检测火焰具体位置,可以利用算法设计进行循迹灭火,该模式下驱动电机水泵喷水,可以有效控制火源的第二次发生,从而完成消防作业。小车本身带了超声波测距模块,红外壁障模块,在自动或者手动控制行驶过程中可以防止碰到障碍物损伤小车。

7377

多模态大模型:技术原理与实战 全球多模态大模型介绍

关键词:多模态大模型、深度学习、计算机视觉、自然语言处理、跨模态学习、迁移学习、人工智能随着人工智能技术的飞速发展,多模态大模型已经成为了当前AI领域最热门的研究方向之一。多模态大模型能够同时处理和理解多种类型的数据,如文本、图像、音频和视频等,这为AI系统在复杂场景下的应用提供了更加强大和灵活的能力。本文将深入探讨多模态大模型的技术原理,介绍其实战应用,并对全球主要的多模态大模型进行全面的介绍和比较。

AI天才研究院 4268

SHELL基础

SHELL基础 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。 文章目录SHELL基础SHELL脚本SHELL变量SHELL符号和字符串SHELL运算符test命令echo命令SHELL传递参数 SHELL脚本 平时所说的 shell 通常都是指 shell 脚本,但是shell 和 shell script 是两个不同的概念。 示例: v

weixin_45680960的博客 697

DXF转G代码是圆弧的方向如何确定?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1187

Shell 基础

函数定义# 函数体# 或者# 函数体函数调用直接使用函数名调用,函数可以接受参数,通过$1$2等访问。

shuijing55hi的博客 920

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Shell脚本编程基础

Shell脚本的基础知识

weixin_67782795的博客 1416

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

shell基础学习

Shell是在Linux内核与用户之间的解释器程序,通常指的是bash,负责向内核翻译及传达用户/程序指令。

weixin_47699991的博客 1262

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

shell基础知识

shell是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。为什么要学习和使用shell?Shell属于内置的脚本,程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理)语法简单,代码写起来比较轻松,简单易学1.1 记录命令历史我们执行过的Linux命令都会有记录,预设可以记录1000条历史命令。

xiaoquanzeilaniu的博客 611

【shell】shell脚本之基础语法

定义变量:不需要指定类型,直接赋值即可访问变量:需要在变量名前加上$命名规则:变量名只能包含字母、数字和下划线(_),但不能以数字开头。变量名大小写敏感,myVariable 和 MYVARIABLE 是不同的。读取用户输入:用read命令读取用户输入并存储在变量中:返回上一次的执行结果,返回0为正确,返回其他值则是错误$$:输出当前bash的pid号$0:表示脚本的名称$#:表示位置参数的总个数$@:返回所有的参数,将参数逐个返回$*:返回所有的参数,将参数当作一个整体一起返回。

GB100200的博客 823

《Shell脚本基础详解》玩转Shell

Shell脚本 是一个脚本语言,用来自动执行我们指定的系统命令的。 通俗的讲,再shell脚本当中,我们会编写一些需要使用的系统命令于其中再运行这个叫本的时候,这些被编写进去的系统命令会按照书写的顺序及规则以此运行。 包括后期我们要学的python实际原本也是通过shell演变过去的!! 学习一们语言首先我们要先了解什么叫变量@ 在很多的编程语言当中都会有变量这样一个概念性的名词。 变量实际上是一个抽象的概念。它本身并没有任何意义。只作为一个名称来使用这个名称指代表了什么呢? 我们如果想要在脚本或程序当中设

小啊宇的博客 3689

【Linux入门】shell基础篇——shell的构成及基础调试

Shell(外壳)是在 Linux/Unix 系统中用于与操作系统进行交互的一种命令行界面。它允许用户通过键入文本命令来执行各种任务,如文件操作、程序运行、设备管理等。Shell 不仅允许用户直接输入命令执行,还可以通过 Shell 脚本将多个命令组合起来,实现更复杂的自动化任务。简而言之就是给要执行的命令按照顺序保存到一个文本文件中,然后给文件可执行权限,可以结合shell控制语句完成更复杂的操作。Shell 的主要功能包括:命令执行:用户可以在 Shell 中输入命令,系统会解释并执行这些命令。

Karoku的博客 1588

Linux Shell基础

LinuxShell基础 测试环境:CentOS7.0 1、基础命令 1.1查看系统可用的shell # cat /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin 1.2查看用户的默认sh

wang_san_shi的专栏 835
上一篇: 快速排序-----数据结构
下一篇: 作业管理-----操作系统
CYD、孤狼
博客等级 码龄9年 24粉丝 129原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值