shell程式設計原理

2022-05-20 01:59:59 字數 2292 閱讀 8391

程式設計原理:

1、程式設計結束

驅動   硬體預設是不能使用的

cpu控制硬體

不同的廠家硬體裝置之間需要進行指令溝通,就需要驅動程式來進行「翻譯」

程式語言的分類:

高階語言、超高階語言需要翻譯成計算機刻度的語言(二進位制指令)

解釋型--逐行翻譯,逐行執行 shell

bash -x filename.sh逐行執行

編譯型--一次編譯,全部執行

程式 = 指令 + 資料

物件導向--側重於資料的程式語言

面向過程--側重於指令

程式語言的執行方式:

1、順序執行

第一句2、迴圈執行--for(遍歷) while(迴圈條件) until(和while相反)

3、選擇執行--分支 if case

2、shell指令碼語言介紹

優點:呼叫os(作業系統)的命令列,來實現所有功能

缺點:沒有庫呼叫(區分python)

shell指令碼包括:1、命令 2、變數(全域性變數、本地變數、傳參)

3、邏輯關係

shell的第一句話(必須寫)

#!/bin/bash--定義指令碼直譯器

#!/usr/bin/python

/etc/shells--檢視當前系統支援的shell程式

echo $shell --檢視當前會話的shell程式

/etc/passwd--制定了使用者預設支援的shell程式(/sbin/nologin)

shell的執行:

1、bash 命令來執行指令碼

-n 檢視shell指令碼的邏輯錯誤(注意:單詞寫錯可不管)

-x 逐行顯示執行的指令碼程式(方便排錯)

2、授權chmod +x filename.sh

使用全路徑執行指令碼,即可

3、變數

環境變數 env和set可看

區域性變數 declare命令--定義變數型別

本地變數 local在函式中的使用

變數型別:

數值型:

1.整型 int

2.浮點型 float

3.布林值 0 1(真假)(true false)

字串:

1.普通字元及字串

2.陣列

程式語言的分類:

強型別語言 -- 數值必須被定義,才能進行處理或運算

弱型別語言 -- 程式語言可以自動識別變數型別

【多型 乙個資料具有多個屬性,而最後使用的屬性取決於和它進行運算的資料】

傳參$?--上一條命令的執行狀態 0正確 1-255錯誤

$1$2

...$ $1-$--命令後面傳入指令碼的資料,一空格為分隔符

$#-- 統計傳參數量 $

$*-- 表示所有的傳參,所有的傳參以字串的形式進行輸出

$@-- 表示所有的傳參,將所有的傳參以列表的形式進行輸出

定義變數格式:

name=value(乙個等號叫賦值,兩個等號叫判斷)

通過命令declare定義變數型別

declare -i a=10 整數 int() str()

declare -a 陣列

變數命令:

1.下劃線的方式指定變數名稱

2.駝峰命名方式

4、test檔案測試、條件判斷

在指令碼中,我們需要進行語句分支;說白了,就是要做判斷

判斷就是使用test命令來實現;

使用格式:

1、test[option] file

2、[條件語句]

常見的test選項:

比較選項:

-eq 等於

-ne 不等於

-gt 大於

-ge 大於等於

-lt 小於

-le 小於等於

判斷選項:

-f是否為普通檔案

-e檔案是否存在

-d是否目錄檔案

-l是否鏈結檔案

-r -w -x是否具有。。。許可權

關聯選項:

-o或-a與

! 非5、邏輯運算

與 &&

或 ||

非 !=

這個邏輯運算子,前後對接的都是單獨存在的命令

6、算術運算

let 1+1

let a=1+1

echo $a

expr 1*1

expr 1*10

$[$1+10]

a=$[2+3]

echo $a

$(($1/$2))

a=$((3/2))

echo $a

shell指令碼 程式設計原理

1 shell指令碼語言介紹 優點 呼叫os 作業系統 的命令列,來實現所有功能 缺點 沒有庫呼叫 區分python 變數 全域性變數 區域性變數 本地變數 傳參 etc shells 檢視當前系統支援的shell程式 echo shell 檢視當前會話的shell程式 etc passwd 制定了...

Shell程式設計 shell特性

linux會預設記錄1000條歷史記錄,可通過 echo histsize 檢視,如果講histsize更改為2000,那麼會預設儲存2000條。1000條記錄儲存在家目錄的 bash history 中,僅當使用者正常退出當前shell時,當前shell中執行的命令才會儲存到 bash histo...

Shell程式設計 Shell函式

shell函式 1.將命令序列按格寫在一起 2.可方便重複使用命令序列 3.shell函式定義 function 函式名 4.呼叫函式的方法 函式名 引數1 引數2 5.shell函式應用示例 1 兩個數字求和 要求 通過sum 定義函式 兩個數求和 方法一 root localhost vim d...