shell指令碼 入門教程(一)

2021-09-11 04:17:50 字數 1182 閱讀 5726

0.摘要

本文主要介紹shell指令碼的概念,並給出hello world示例,讓讀者對shell指令碼有乙個基礎的認識。

1.什麼是指令碼

簡單地說:在linux或類似系統中, 我們常常會使用一系列的命令來完成一件小型的工作。如果把這些命令串起來並存放到乙個檔案中,那麼就得到了乙個指令碼。當然,指令碼並不侷限於此。

指令碼(script)是批處理檔案的延伸,是一種純文字儲存的程式,一般來說的計算機指令碼程式是確定的一系列控制計算機進行運算操作動作的組合,在其中可以實現一定的邏輯分支等。

指令碼程式語言有很多種:awk、perl、python、ruby和shell等,本教程只講解shell程式語言。

2.為什麼要使用shell指令碼

c、c++等這類語言稱為編譯型語言,它們處理的是位元組、整型數或浮點數等。相對於指令碼程式語言,編譯型語言更高效,但功能往往侷限於低層。比如,想要「將path1路徑下的檔案都複製到path2路徑下」,使用c++很難實現,但指令碼卻很容易。

指令碼語言多半執行在比編譯型語言還高的層級上,能夠輕易處理檔案與目錄類的物件,但它們的效率卻不如編譯型語言。

而shell幾乎是各類unix系統之間的通用功能,並且經過了posix的標準化,所以乙個shell指令碼往往可以應用到不同的系統中。總結shell的優點主要有:簡單、可移植、容易開發。

3.hello world

vim hello.sh
step2:編寫指令碼

#! /bin/sh

echo "hello, world!"

shell指令碼的第一行一般為「#!」這兩個字元。當核心發現乙個檔案的開頭兩個字元是「#!」時,就會掃瞄該行的其餘部分,檢查是否存在可用來執行程式的直譯器的完整路徑(中間的空白符號會自動略過)。此外,核心還會掃瞄是否有乙個選項要傳遞給直譯器。核心會以被指定的選項來引用直譯器,再搭配命令列的其他部分。

echo是一種最常用的與廣泛使用的內置於linux的bash和c shell的命令,通常用在指令碼語言和批處理檔案中來在標準輸出或者檔案中顯示一行文字或者字串。詳細用法請移步:

step3:執行指令碼

sh ./hello.sh

shell指令碼 入門教程(二)

0.摘要 本文主要介紹shell指令碼中的變數和輸出方式。1.變數 變數 variable 就是為了某個資訊片段所起的名字,所有程式語言都需要變臉,因此shell也不例外。每個變數都有乙個值 value 這是分配給變數的內容或者資訊。shell中的變數可以是空值,null,即不含任何字元。空值在sh...

Shell 入門教程(一) 基礎概念

說起 shell 語言,其實很多人習慣的叫法是叫做 shell 指令碼。或許你在還沒學習之前就聽說過,shell 指令碼 shell 語言 shell 環境等等名詞。但是它們到底是什麼,它們之間有什麼區別?下面我們就逐個來解答一下。我們知道對於所有計算機裝置來說,它們都是由 cpu 記憶體 硬碟等硬...

Shell入門教程 Shell的基本結構

shell程式的基本組成結構 shell結構大體是由設定變數 內建命令 shell的語法結構 函式組成。使用例項說明 test.sh bin bash 說明使用 bin bash作為這個指令碼的直譯器 定義乙個函式 function my fun 定義連個變數 name 1 today date 函...