开始使用 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 冷却风扇。
审核编辑:郭婷
-
计算机
+关注
关注
19文章
7489浏览量
87876 -
WINDOWS
+关注
关注
3文章
3541浏览量
88635
发布评论请先 登录
相关推荐
新品来袭!Raspberry Pi Compute Module 5

Raspberry Pi Pico 2 W 发布

Raspberry Pi Pico 2

Banana Pi M5 与 Raspberry Pi 4 – 基准测试

e络盟开售Raspberry Pi AI 摄像头

shell脚本执行的三种方式及区别
执行shell脚本的方式包括什么
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之本地脚本的编写和执行
shell脚本编写之本地脚本的编写和执行
shell基本介绍及常用命令之shell介绍
震惊!居然有人给 Raspberry Pi 5 做 X 射线!

评论