開始使用 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文章
7536瀏覽量
88639 -
WINDOWS
+關注
關注
4文章
3569瀏覽量
89302
發布評論請先 登錄
相關推薦
評論