0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Raspberry Pi Bash Shell 脚本简介

星星科技指导员 来源:嵌入式计算设计 作者:Jeremy S. Cook 2022-08-15 15:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

开始使用 Raspberry Pi 单板计算机 (SBC) 通常意味着安装 Raspberry Pi OS,并与其类似 Windows 的图形用户环境进行交互。这一切都很好,但是 Raspberry Pi 和其他基于 Linux 的系统的真正强大功能可以通过使用 Bash 的命令行输入获得。

虽然有点学习曲线,但一旦你熟悉了自己的方式,这并不难;模糊地让人想起您可能熟悉的 MS-DOS 提示符。您当然可以创建和删除文件以及各种其他任务,要求您记住文本命令,而不是通过一系列菜单。一开始会令人沮丧,但一旦掌握了这项技术,它就是一个出色的界面。

为了更上一层楼,您甚至可以编写自动输入的 Bash shell 脚本,将一个命令变成多个命令。当您必须一遍又一遍地执行任务时,这些脚本可以为您节省大量输入,甚至可以将它们设置为在不同时间自动执行。

基础知识

要在 Raspberry Pi Bash Shell 环境中创建您的第一个脚本,请在您的主目录中输入sudo nano hello-shell.sh 。在文本编辑器中,在第一行输入#!/bin/sh,这就是所谓的“shebang”。这告诉脚本如何执行命令,但现在只需接受这一行将在您编写的每个脚本的顶部。

在第二行,输入echo “Hello world!” ,然后使用Ctrl+x关闭文本编辑器,然后使用y和Enter保存文件。关闭后,输入sh hello-shell.sh以查看“Hello world!”字样。像魔术一样在你的屏幕上弹出。如果您与文件在同一目录中工作,您也可以使用。/hello-shell.sh运行脚本,但您需要事先运行sudo chmod +x hello-shell.sh以使其自身可执行。

更多示例

除了简单地打个招呼之外,Bash 脚本还非常适合任务自动化。以这个脚本为例:

#!/bin/bash

echo “shell script”

ls -l

echo “pausing for 5 seconds”

# this is a comment

sleep 5

ls -a

在 shebang 之后,脚本输出它是一个带有echo命令的 shell 脚本,然后执行命令ls -l以相当详细地显示目录中的文件。然后它声明它暂停了 5 秒——实际上暂停了 5 秒——然后列出了目录中的文件,没有太多细节,但包括隐藏文件。注意# 这是注释行。“#”符号用于在 Bash 中开始注释行,除了在它们处理 shebang 的第一行。

pYYBAGL581SAC8drAAMF_dshfhc556.png

如何使用变量,甚至数学?Bash 能够做到这一点,甚至更多。考虑这个脚本,它是从堪萨斯州立大学BASH 文档页面上的第一个脚本大量修改的:

#!/bin/bash

echo “math and variables”

n=6/3

echo $n

n=$((6/3))

echo $n

k=$((n/3))

echo $k

如下所示,脚本首先说“数学和变量”。然后它会回显 n 的字面意思是“6/3”,因为它是作为字符串处理的。事实上,你可以输入“n=6/3hello”,它也会输出。然而,一旦你输入 $((6/3)),它就会被计算为整数 2,然后可以用它来计算 k。请注意,k 是一个整数,由 2/3 得出,即 0。

poYBAGL581yAOiHVAACHVfx4jgk855.png

如果您尝试输入原始的 K 状态代码 (5.9.1),您会注意到它实际上并没有在 Raspberry Pi 上运行。不幸的是,所有版本的 Bash 处理输入的方式都不相同。我使用在这里找到的信息来让事情正常工作,如果你想复制一个非 Pi 特定的脚本,你可能需要花点时间。

抛开潜在的麻烦不谈,Bash 可以是一个非常强大的工具,让您可以自动执行各种任务。在即将发表的文章中,我将展示如何使用 Bash 脚本以及一些硬件技巧来自动化我的 Raspberry Pi 冷却风扇。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    7838

    浏览量

    93452
  • WINDOWS
    +关注

    关注

    4

    文章

    3705

    浏览量

    94316
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    关于冷却的话题:手动控制 5V PWM 风扇,通过脚本控制,并通过内核自动控制

    @geerlingguy去年年底写了一篇有趣的文章,使用 Raspberry Pi CM4 IO 板的 EMC2301 控制 PWM 风扇,我要感谢他的出色工作。他温控风扇脚本对于在 VF2 上运行的您
    发表于 03-18 07:13

    请问如何让 Sony-IMX219-Raspberry-Pi-V2-CMOS 相机与 VisionFive2 配合使用?

    我正在尝试获得我在 VisionFive2 版本 219a 上放置的备用 Sony-IMX2-Raspberry-Pi-V1.2-CMOS 相机。由于 VisionFive 2 有 1 个 × 2
    发表于 03-11 06:26

    Banana Pi BPI-CM6 – 一款与 Raspberry Pi CM4/CM5 载板兼容的 SpacemiT K1 RISC-V 系统模块

    Banana Pi BPI-CM6 系统模块 (SoM) 采用 SpacemiT K1 八核 RISC-V 处理器,并且与大多数 Raspberry Pi CM4 或 CM5 模块的载板兼容。 它
    发表于 11-28 16:59

    Banana Pi BPI-CM6 – 一款与 Raspberry Pi CM4/CM5 载板兼容的 SpacemiT K1 RISC-V 系统模块

    Banana Pi BPI-CM6 系统模块 (SoM) 采用 SpacemiT K1 8 核 RISC-V 处理器,并且与大多数为 Raspberry Pi CM4 或 CM5 设计的载板兼容
    的头像 发表于 11-28 16:57 2586次阅读
    Banana <b class='flag-5'>Pi</b> BPI-CM6 – 一款与 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> CM4/CM5 载板兼容的 SpacemiT K1 RISC-V 系统模块

    e203仿真报Syntax error: \"&amp;\"unexpected错误的原因

    “NO” 再试一下: ls -l /bin/sh 改成bash 再跑测试程序: 成功! 原因分析:dash和bash应该是shell脚本语言的两种解释方式,Ubuntu默认采用d
    发表于 11-05 13:39

    【EASY EAI Nano-TB(RV1126B)开发板试用】命令行功能测试-shell脚本进行IO控制-红绿灯项目-实现开机起动

    0接上文【EASY EAI Nano-TB(RV1126B)开发板试用】命令行功能测试-shell脚本进行IO控制-红绿灯项目 Linux 起动系统下 init 系统大多数 Linux 发行版
    发表于 11-03 17:25

    【CIE全国RISC-V创新应用大赛】+基于MUSE Pi Pro的3d激光里程计实现

    : 192.168.1.200 MUSE Pi Pro IP: 192.168.1.100 子网掩码: 255.255.255.0 4. 软件环境配置 系统基础环境 #!/bin/bash 系统环境配置
    发表于 10-24 17:02

    shell基本介绍及常用命令之shell基本介绍

    执行结果呈现给用户;同时Shell也是一种解释性的编程语言或者脚本语言,开发容易可以在短时间内完成功能强大又好用的脚本,可以在不同的系统上移植非常方便。Shell的特性不同的发行版本使
    发表于 09-28 09:05

    Raspberry Pi携手上海晶珩 助力工业与物联网创新

     2025年9月23日下午,全球嵌入式解决方案的领导者 Raspberry Pi 在 2025 上海工博会首次亮相,并携手其在华重要合作伙伴 上海晶珩(EDATEC) ,正式发布专为中国市场打造
    的头像 发表于 09-26 15:29 768次阅读
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>携手上海晶珩 助力工业与物联网创新

    Banana Pi BPI-R4 Lite:新型单板计算机比 Raspberry Pi 5 更具优势

    Raspberry Pi 5(亚马逊售价 66 美元起)的替代品。 然而,它的侧重点略有不同,尤其适合网络应用。例如,它可以作为 OpenWrt 路由器的基础。Banana Pi 最新的 SBC
    的头像 发表于 08-26 16:46 1674次阅读
    Banana <b class='flag-5'>Pi</b> BPI-R4 Lite:新型单板计算机比 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5 更具优势

    Shell脚本入门指南

    Shell 是一块包裹着系统核心的壳,处于操作系统的最外层,与用户直接对话,把用户的输入, 解释给操作系统,然后处理操作系统的输出结果,输出到屏幕给与用户看到结果。
    的头像 发表于 06-03 10:47 1373次阅读
    <b class='flag-5'>Shell</b><b class='flag-5'>脚本</b>入门指南

    FPC组成简介及工程设计规范

    FPC产品简介概述: 1,FPC概念 2,FPC产品结构组成 3,FPC材料 4,FPC产品类型 5,FPC产品特征 FPC(Flexible Printed Circuit)挠性印刷电路版,简称
    发表于 05-27 15:10

    贸泽开售Raspberry Pi用于嵌入式和IIoT应用的RP2350微控制器

    2025 年 5 月 23 日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售Raspberry Pi的新款
    发表于 05-27 14:50 1567次阅读

    【米尔-RK3562开发板试用评测】命令行功能测试-shell脚本进行IO控制-(绿色)RUN 灯、(红色)User灯

    shell脚本进行命令行功能测试 控制部分硬件测试。从IO控制-灯闪开始。 板手册中LED例: **应开发板上的 RUN 灯 为例进行LED灯测试 root@myd-yr3562:~# cd
    发表于 05-09 18:19

    如何在Raspberry Pi OS上安装SDK?

    Raspberry Pi OS 上安装 SDK
    发表于 04-30 06:45