Shell程式設計

2022-08-03 10:48:10 字數 1229 閱讀 4232

2023年1月11日, 星期三

linux

系統的shell作為作業系統的外殼,為使用者提供使用作業系統的介面。它是命令語言、命令解釋程式及程式語言的統稱。

shell是使用者和linux核心之間的介面程式,如果把linux核心想象成乙個球體的中心,shell就是圍繞核心的外層。當從shell或其他程式向linux傳遞命令時,核心會做出相應的反應。

shell是乙個命令語言直譯器,它擁有自己內建的shell命令集,shell也能被系統中其他應用程式所呼叫。使用者在提示符下輸入的命令都由shell先解釋然後傳給linux核心。

shell是一種具備特殊功能的程式, 它是介於使用者和 unix/linux 作業系統之核心

程式(kernel)間的乙個介面。為什麼我們說 shell 是一種介於系統核心程式與使用者

間的中介者呢?讀過作業系統概論的讀者們都知道作業系統是乙個系統資源的管理者與分

配者,當您有需求時,您得向系統提出;從作業系統的角度來看,它也必須防止使用者因

為錯誤的操作而造成系統的傷害?眾所周知,對計算機下命令得透過命令(command) 或

是程式(program);程式有編譯器(compiler)將程式轉為二進位制**,可是命令呢?

其實shell 也是一支程式,它由輸入裝置讀取命令,再將其轉為計算機可以了解的機械碼,

然後執行它。

各種作業系統都有它自己的 shell,以 dos 為例,它的 shell 就是 command.com文

件。如同 dos 下有 ndos,4dos,drdos 等不同的命令解譯程式可以取代標準的

command.com ,unix 下除了 bourne shell(/bin/sh) 外還有 c shell(/bin/csh)、

korn shell(/bin/ksh)、bourne again shell(/bin/bash)、tenex c shell(tcsh)

等其它的 shell。unix/linux將 shell 獨立於核心程式之外, 使得它就如同一般的應用

程式, 可以在不影響作業系統本身的情況下進行修改、更新版本或是新增新的功能

有一些命令,比如改變工作目錄命令cd,是包含在shell內部的。還有一些命令,例如拷貝命令cp和移動命令rm,是存在於檔案系統中某個目錄下的單獨的程式。對使用者而言,不必關心乙個命令是建立在shell內部還是乙個單獨的程式。

2. shell的執行過程?

null

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...

Shell程式設計

1 建立指令碼 vi emacs等即可 bin sh 2 shell變數 對shell來講,所有的變數的取值都是乙個字串 shell是一種解釋性語言,變數無需事先定義 shell中的系統變數 程式命令列引數的數目 儲存前乙個命令的返回值 0 當前程式名 以 1 2 形式儲存所有輸入的命令列引數 以 ...