在本教程中,我將討論Shell腳本的基礎(chǔ)知識、它們的用途以及如何在Raspberry Pi上編寫和運行Shell腳本。
什么是Shell腳本?
Shell腳本可以讓你自動化幾乎所有在Linux命令行上可以執(zhí)行的操作。Shell腳本只是一個文本文件,包含一系列按順序執(zhí)行的Shell(命令行)命令,就好像這些命令直接在命令行中輸入一樣。如果你需要一次性執(zhí)行大量命令,或者想要在特定情況下(如Raspberry Pi啟動時)自動執(zhí)行命令,Shell腳本可以節(jié)省你的時間。
Shell語言是一種高級編程語言,與匯編或C等低級語言相比,它與系統(tǒng)和內(nèi)存進程的關(guān)聯(lián)性更低。這基本上意味著它擁有執(zhí)行需要大量代碼才能完成的任務(wù)的命令和函數(shù)。
Shell腳本可以使用變量、if-then語句、循環(huán)和管道(見下文)。
Shell腳本能做什么?
如果你需要在命令行中輸入長命令序列來完成某項任務(wù),Shell腳本會非常有用。如果你知道如何為任務(wù)編寫Shell腳本,大多數(shù)操作都可以通過單個命令完成。例如,它們可以用于:
控制計算機啟動時發(fā)生的情況
在事件發(fā)生時啟動應(yīng)用程序
將一個命令的輸出作為另一個命令的輸入
批量重命名和移動文件
批量轉(zhuǎn)換文件格式
Shell腳本的一個非常有用的功能是能夠創(chuàng)建管道。管道允許一個命令的輸出被轉(zhuǎn)發(fā)到下一個命令的輸入。你可以根據(jù)需要與多個命令一起使用管道。管道的基本語法是:
command 1 | command 2
如何創(chuàng)建和運行Shell腳本
在這里,我只介紹編寫Shell腳本的基礎(chǔ)知識,但Arnold Robbins的《Classic Shell Scripting》一書對于任何想要學(xué)習(xí)Shell腳本編寫細節(jié)的人來說都是一個極好的資源。
創(chuàng)建腳本文件
Shell腳本只是一個帶有“.sh”擴展名的可執(zhí)行文本文件。在這個例子中,我們將編寫一個簡單的“hello world”腳本來演示如何創(chuàng)建和運行它們。
首先,登錄到你的Raspberry Pi,并導(dǎo)航到你想要保存腳本的目錄。然后打開Nano文本編輯器,通過在命令行提示符下輸入以下內(nèi)容創(chuàng)建一個名為hello-world.sh的新文件:
sudo nano hello-world.sh
現(xiàn)在,在文本編輯器中輸入以下代碼:
#!/bin/bashecho"HelloWorld!"
這個程序的第一行,#!/bin/sh,被稱為shebang(井號嘆號)。它告訴BASH shell執(zhí)行腳本中的命令。你創(chuàng)建的每個Shell腳本都需要在腳本的第一行包含這個。
通過按Ctrl-X保存并退出Nano,退出并保存文件。
使文件可執(zhí)行
接下來,我們需要使hello-world.sh文件可執(zhí)行。為此,在命令行提示符下輸入以下內(nèi)容:
sudo chmod +x hello-world.sh
運行腳本
現(xiàn)在Shell腳本已經(jīng)變得可執(zhí)行,我們可以運行它。導(dǎo)航到保存文件的目錄,并輸入以下內(nèi)容:
sh hello-world.sh
或者
./hello-world.sh
命令提示符下方的行將打印出“Hello World!”。
這個“hello world”腳本并不特別有用,但它將向你展示如何創(chuàng)建和運行Shell腳本的基礎(chǔ)知識。對于你可以在你的Shell腳本中使用的一些真正有用的Linux命令的列表,請參閱我們的文章《Raspberry Pi最有用的42個命令》。
-
Shell
+關(guān)注
關(guān)注
1文章
369瀏覽量
23640 -
樹莓派
+關(guān)注
關(guān)注
118文章
1883瀏覽量
106271
發(fā)布評論請先 登錄
相關(guān)推薦
樹莓派可以做什么?
樹莓派新手必看!!你應(yīng)該要準備的樹莓派硬件配置
在Windows、OSX和樹莓派下編輯樹莓派config
在樹莓派上安裝和使用MySQL
樹莓派上運行pulse sensor
樹莓派用什么語言編程_樹莓派python編程詳解
樹莓派入門教程之新手使用樹莓派做系統(tǒng)的教程資料說明

如何在樹莓派上運行Fedora
【樹莓派】樹莓派4B新手篇:安裝官網(wǎng)Raspbian Buster系統(tǒng)及基礎(chǔ)配置

評論