開始使用 Raspberry Pi 單板計(jì)算機(jī) (SBC) 通常意味著安裝 Raspberry Pi OS,并與其類似 Windows 的圖形用戶環(huán)境進(jìn)行交互。這一切都很好,但是 Raspberry Pi 和其他基于 Linux 的系統(tǒng)的真正強(qiáng)大功能可以通過使用 Bash 的命令行輸入獲得。
雖然有點(diǎn)學(xué)習(xí)曲線,但一旦你熟悉了自己的方式,這并不難;模糊地讓人想起您可能熟悉的 MS-DOS 提示符。您當(dāng)然可以創(chuàng)建和刪除文件以及各種其他任務(wù),要求您記住文本命令,而不是通過一系列菜單。一開始會令人沮喪,但一旦掌握了這項(xiàng)技術(shù),它就是一個(gè)出色的界面。
為了更上一層樓,您甚至可以編寫自動輸入的 Bash shell 腳本,將一個(gè)命令變成多個(gè)命令。當(dāng)您必須一遍又一遍地執(zhí)行任務(wù)時(shí),這些腳本可以為您節(jié)省大量輸入,甚至可以將它們設(shè)置為在不同時(shí)間自動執(zhí)行。
基礎(chǔ)知識
要在 Raspberry Pi Bash Shell 環(huán)境中創(chuàng)建您的第一個(gè)腳本,請?jiān)谀闹髂夸浿休斎雜udo nano hello-shell.sh 。在文本編輯器中,在第一行輸入#!/bin/sh,這就是所謂的“shebang”。這告訴腳本如何執(zhí)行命令,但現(xiàn)在只需接受這一行將在您編寫的每個(gè)腳本的頂部。
在第二行,輸入echo “Hello world!” ,然后使用Ctrl+x關(guān)閉文本編輯器,然后使用y和Enter保存文件。關(guān)閉后,輸入sh hello-shell.sh以查看“Hello world!”字樣。像魔術(shù)一樣在你的屏幕上彈出。如果您與文件在同一目錄中工作,您也可以使用。/hello-shell.sh運(yùn)行腳本,但您需要事先運(yùn)行sudo chmod +x hello-shell.sh以使其自身可執(zhí)行。
更多示例
除了簡單地打個(gè)招呼之外,Bash 腳本還非常適合任務(wù)自動化。以這個(gè)腳本為例:
#!/bin/bash
echo “shell script”
ls -l
echo “pausing for 5 seconds”
# this is a comment
sleep 5
ls -a
在 shebang 之后,腳本輸出它是一個(gè)帶有echo命令的 shell 腳本,然后執(zhí)行命令ls -l以相當(dāng)詳細(xì)地顯示目錄中的文件。然后它聲明它暫停了 5 秒——實(shí)際上暫停了 5 秒——然后列出了目錄中的文件,沒有太多細(xì)節(jié),但包括隱藏文件。注意# 這是注釋行?!?”符號用于在 Bash 中開始注釋行,除了在它們處理 shebang 的第一行。
如何使用變量,甚至數(shù)學(xué)?Bash 能夠做到這一點(diǎn),甚至更多??紤]這個(gè)腳本,它是從堪薩斯州立大學(xué)BASH 文檔頁面上的第一個(gè)腳本大量修改的:
#!/bin/bash
echo “math and variables”
n=6/3
echo $n
n=$((6/3))
echo $n
k=$((n/3))
echo $k
如下所示,腳本首先說“數(shù)學(xué)和變量”。然后它會回顯 n 的字面意思是“6/3”,因?yàn)樗亲鳛樽址幚淼?。事?shí)上,你可以輸入“n=6/3hello”,它也會輸出。然而,一旦你輸入 $((6/3)),它就會被計(jì)算為整數(shù) 2,然后可以用它來計(jì)算 k。請注意,k 是一個(gè)整數(shù),由 2/3 得出,即 0。
如果您嘗試輸入原始的 K 狀態(tài)代碼 (5.9.1),您會注意到它實(shí)際上并沒有在 Raspberry Pi 上運(yùn)行。不幸的是,所有版本的 Bash 處理輸入的方式都不相同。我使用在這里找到的信息來讓事情正常工作,如果你想復(fù)制一個(gè)非 Pi 特定的腳本,你可能需要花點(diǎn)時(shí)間。
拋開潛在的麻煩不談,Bash 可以是一個(gè)非常強(qiáng)大的工具,讓您可以自動執(zhí)行各種任務(wù)。在即將發(fā)表的文章中,我將展示如何使用 Bash 腳本以及一些硬件技巧來自動化我的 Raspberry Pi 冷卻風(fēng)扇。
審核編輯:郭婷
-
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7549瀏覽量
88737 -
WINDOWS
+關(guān)注
關(guān)注
4文章
3581瀏覽量
89395
發(fā)布評論請先 登錄
相關(guān)推薦
EE-235:VisualDSP腳本簡介
![EE-235:VisualDSP<b class='flag-5'>腳本</b><b class='flag-5'>簡介</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Raspberry Pi樹莓派新手指南
新品來襲!Raspberry Pi Compute Module 5
![新品來襲!<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Compute Module 5](https://file1.elecfans.com/web3/M00/00/2E/wKgZPGdG8n-ATLJbAACURW_RWus376.jpg)
Raspberry Pi Pico 2 W 發(fā)布
![<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Pico 2 W 發(fā)布](https://file1.elecfans.com//web1/M00/F5/D5/wKgaoWdEUHqAHMNaAAEAAFdyIUI290.jpg)
Raspberry Pi Pico 2
![<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Pico 2](https://file1.elecfans.com/web2/M00/0C/58/wKgZomdEIiOAAzGQAAPKLS3oI2Q802.png)
Banana Pi M5 與 Raspberry Pi 4 – 基準(zhǔn)測試
![Banana <b class='flag-5'>Pi</b> M5 與 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 4 – 基準(zhǔn)測試](https://file1.elecfans.com//web1/M00/F3/C9/wKgaoWce9r-AWCwzAAFiH9GEMNI624.jpg)
e絡(luò)盟開售Raspberry Pi AI 攝像頭
![e絡(luò)盟開售<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> AI 攝像頭](https://file1.elecfans.com/web2/M00/0A/19/wKgaomcHNyqATsA-AACMyKIl_ik190.png)
評論