Shell 指令碼初學

2021-07-31 14:08:45 字數 1718 閱讀 4477

其實這個是因為伺服器卡不夠用,為了充分占用一塊卡的資源,需要寫個shell指令碼幫忙執行網路= =

shell是一種指令碼語言(區別於編譯語言),在unix上基本都通用。在我看來,這個指令碼主要並不是用來計算,而是用來管理打雜的。

第乙個程式,還是輸出hello world吧。

首先建立乙個指令碼檔案

vim hello.sh
進入vim程式,輸入:

#!/bin/bash

echo

"hello world !"

「#!」 是乙個約定的標記,它告訴系統這個指令碼需要什麼直譯器來執行,即使用哪一種shell,bash是比較通用的乙個shell。echo命令用於向視窗輸出文字,其實你直接在shell中輸入echo hello world!。也會有相同的效果。

即可。

之後執行需要退出,

./hello.sh
但會出現:

permission denied: ./hello.sh
沒有許可權,增加之後再試試:

chmod +x ./test.sh

#使指令碼具有執行許可權

./test.sh

#執行指令碼

hello world!

成功~

有了輸出也會有輸入,輸入的命令是read

#!/bin/bash

echo

"what is your name?"

read name

echo

"hello, $name"

這時候執行會等待你輸入,並顯示出來。

shell中變數的賦值很簡單,只需要=即可

variablename="value"

但是要注意:

-變數名和等號之間不能有空格,這可能和你熟悉的所有程式語言都不一樣

- 首個字元必須為字母(a-z,a-z)

- 中間不能有空格,可以使用下劃線(_)

- 不能使用標點符號

- 不能使用bash裡的關鍵字(可用help命令檢視保留關鍵字)

如果觀察上面讀取語句,會發現使用的時候需要在變數前加上$符號:

your_name="myname"

echo

$your_name

echo

$

readonly variablename
可將變數改為唯讀變數(也就是常量吧……)。

最後也可以刪除變數:

unset variable_name
但不能刪除唯讀變數。

其實在linux中輸入的命令,就是在直譯器中執行程式,而shell指令碼讓這個過程更為集中、簡單。做模擬的話,shell就是python,.sh就是.py。那麼我們如果想要執行程式,直接寫我們在命令列裡的命令就好了。

#!/bin/bash

python work1.py

python work2.py

這樣就不用擔心卡在完成工作前被占用了~

shell 指令碼初探

之前大神跟我說要學習一下 linux的shell 指令碼程式設計,可能是我看的太膚淺了,個人感覺這個東西吧,不是特別難。今天看了10分鐘,寫了幾句。感悟如下 首先,shell指令碼能夠獲取系統狀態 資訊。然後就是一些邏輯判斷,流程語句。可能還會涉及一些路徑獲取,檔案組合等操作,把這個和上面的流程結合...

shell指令碼初版

n 表示位置引數,從 1開始到9,比 較常用,如果超過 9個,則 以如下形 式使用 9,比較常用,如果超過9個,則以如下形式使用 9,比較常用 如果超 過9個,則以如下 形式使用 10 例如 vim test bin bash echo 0 1 2 代表所有的引數,就是講傳遞進來的若干個引數看成乙個...

shell指令碼初識

shell指令碼初識 了解shell shell是乙個用c語言編寫的程式,它是使用者使用linux的橋梁。shell既是一種命令語言,又是一種程式語言。指令碼結構 shell指令碼 shell script 即為一種shell編寫的指令碼程式 開頭要以 bin bash或是 bin sh 此特殊符號...