shell基礎程式設計

2022-04-29 19:03:09 字數 2804 閱讀 1909

1建立:

使用 vim 命令建立以.sh結尾的 指令碼檔案

#!/bin/bash——第一行寫上
2執行:

注意:如不給可執行許可權,也可執行,就要在指令碼前使用命令sh執行

以後臺的方式執行:可在乙個指令碼中執行另乙個shell指令碼

如在yourshell.sh中寫入:

./myshell.sh &&
3變數

系統變數

如home path user等

set指令可用檢視全部

引用變數:$變數

輸出:echo 「內容」

4定義變數的規則

變數名不能以數字開頭

等號兩側不能有空格

變數名一般習慣大寫

5將命令的返回值賦給變數

a=`ls -la /home` 反引號,執行裡面的命令,並把結果返回a

a=$(ls -la /home)等價反引號

6設定環境變數

在/etc/profile檔案定義環境變數

export 變數名=變數值——將shell變數設定為環境變數

需要使用source /ect/profile使環境變數生效

7位置引數變數

如:./myshell.sh 100 200——在shell指令碼內部可以獲取到這兩個引數

$n——$0代表引數本身,$1-$9代表1至9個引數,10以上的引數要用{}包,如$

$*——代表命令列中的所有引數,把所有引數當成乙個整體

$@——代表命令列中的所有引數,不過把每個引數分別對待

$#——命令列中的引數個數

8預定義變數
shell設計者事先定義好的變數,可直接在shell中使用

$$——當前程序的程序號

$!——後台執行的最後乙個程序的程序號

$?——最後一次執行命令的返回狀態(0即執行正確,非0則執行不正確,具體為哪個值由命令決定)

9運算子

基本語法

1. $((表示式))   或   $[表示式] 

2. expr m + n——注意,運算子之間要有空格,為一命令,需要用反引號括起來``

3. expr m - n

4. \*,/,%——乘號需要反斜槓

10條件判斷

基本語法:

[ condition ]——注意:condition前後要有空格

非空則返回true,可以使用$?驗證(返回0為true)

#判斷字串是否相等

if [ "ok" = "ok" ]

then

echo "equal"

fi#判斷數字大小

if [ 23 -gt 22 ]

then

echo "大於"

fi#判斷檔案時=是否存在

if [ -e /root/shell/a.txt ]

then

echo "存在"

fi

11流程控制
if [ condition ];then 

程式fi或者

if [condition]

then

程式elif [ condition ]

then

程式fi推薦使用第二種

case $變數名 in

"值1")

如果變數等於值1,則執行程式1

;;"值2")

如果變數等於值2,則執行程式2

;;···省略其他分支···

*)如果變數的值都不是以上的值,則執行此程式

;;esac

基本語法1

#這裡可以看出$*和$@的區別

for 變數 in 值1 值2 值3···

do程式

done

基本語法2

for((初始值;迴圈控制變數;變數變化))

do程式

done

基本語法1

while [ condition ]

do程式

done

12獲取控制台輸入

read (選項) (引數)

選項:

-p——指定讀取值時的提示符

-t——指定讀取值時的等待時間,超時輸入將不等待

13系統函式(部分)
basename /home/aaa/a.txt //輸出a.txt

basename /home/aaa/a.txt .txt //輸出a

dirname /home/aaa/a.txt //輸出/home/aaa
14自定義函式
基本語法(中的可不寫)

[function] funname[()]

呼叫直接寫函式名 function[值]

#乙個函式

function getsum()

#從鍵盤快取讀入

read -p 請輸入第乙個數 n1

read -p 請輸入第乙個數 n2

#呼叫getsum $n1 $n2

Shell 程式設計基礎

2 shell 程式設計基礎 shell 簡介認識後台程式 bash 程式設計熟悉 linux 系統下的編輯環境 熟悉linux 下的各種 shell 熟練進行 shell 程式設計熟悉 vi基本操作 熟悉emacs 的基本操作 比較不同 shell 的區別編寫乙個測試伺服器是否連通的 shell ...

shell程式設計基礎

1.熟悉shell 1.1 基本語法 bin bash shell必須以上面所示的開頭,以 開頭的語句表示注釋。1.2 新增可執行許可權 chmod u x 檔名 1.3 建立簡單的shell bin bash echo n hell user,today is date echo good luc...

shell 程式設計基礎

1.基礎正規表示式 aa 表示至少包含乙個a的行,a 匹配所有內容 匹配任意乙個字元,精準匹配 grep 提取文字中的字元 grep v root 取反不包括root的行 2.cut 命令 f第幾列 d分隔符 3.printf ni輸出n個整數 ns n個字元 m.nf m.nprintf s t ...