Raspberry Pi Bash Shell 脚本简介

开始使用 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 的第一行。
如何使用变量,甚至数学?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。
如果您尝试输入原始的 k 状态代码 (5.9.1),您会注意到它实际上并没有在 raspberry pi 上运行。不幸的是,所有版本的 bash 处理输入的方式都不相同。我使用在这里找到的信息来让事情正常工作,如果你想复制一个非 pi 特定的脚本,你可能需要花点时间。
抛开潜在的麻烦不谈,bash 可以是一个非常强大的工具,让您可以自动执行各种任务。在即将发表的文章中,我将展示如何使用 bash 脚本以及一些硬件技巧来自动化我的 raspberry pi 冷却风扇。


mipi协议详细介绍
罗森伯格参加中关村论坛高新科技展览
iphone8什么时候上市?iphone8最新消息:1125P屏+双面玻璃,高颜值乔布斯能否喜欢
为什么激光笔能控制智能家居中的语音助手呢
华为HarmonyOS 3.0将于下个月发布,时间或将定在25号之后
Raspberry Pi Bash Shell 脚本简介
AI技术的进步正威胁着生物识别技术在支付领域的采用?
区块链+AI 未来可用于厘清自驾交通事故
USB土壤参数检测仪
基于PID控制的经典小型四旋翼飞行器设计案例
农药残留检测仪提升绿色防控能力并保障食品安全
RTOS中动静结合的内存管理实现
智慧地产这个梦可能实现吗
半导体线性演进思维下的盲点
vivo S9系列将于3月3日正式发布
国内首个“AI大模型产业赋能中心”在京落地
通信产业投资基金在京完成战略合作协议的签署
IC集成支持平板相控阵天线设计
卫星电话与sos电话的区别
BJ-EPM240学习板:分频计数实验