Shell基礎筆記

2021-10-05 09:12:09 字數 1528 閱讀 6744

shell是乙個命令列直譯器,它為使用者提供了乙個向linux核心傳送請求以便執行程式的介面

系統級程式,使用者可以用shell來啟動、掛起、停止甚至是編寫一些程式。

shell的分類

bourne shell

c shell

指令碼執行

賦予執行許可權,直接執行

chmod 755 hello.sh

./hello.sh

通過bash呼叫執行指令碼

bash hello.sh

命令別名

alias 別名='原命令'

多命令順序執行;&&

||dd命令

磁碟複製

管道符命令1 | 命令 2

搜尋grep[選項]"搜尋內容"

萬用字元? :匹配乙個任意字元

* :匹配0個或任意多個任意字元,也就是可以匹配任何內容

[-][^]

bash其他特殊符號

'' :單引號。在單引號中所有的特殊符號,如「$」和「`」(反引號)都沒有特殊含義。

"" : 雙引號。在雙引號中特殊符號都沒有特殊含義,但是「$」、「`」和「\」是例外,擁有「呼叫變數的值」、

「引用命令」和「轉義符」的特殊含義。

`` :反引號。反引號括起來的內容是系統命令,在bash中會先執行它。和$()作用一樣,

不過推薦使用$(),因為反引號非常容易看錯。

$() :和反引號作用一樣,用來引用系統命令。

$ :用於呼叫變數的值,如需要呼叫變數name的值時,需要用$name的方式得到變數的值。

變數設定規則

變數分類

使用者自定義變數

位置引數變數:這種變數主要是用來向指令碼當中傳遞引數或資料的,變數名不能自定義,變

量作用是固定的。

預定義變數:是bash中已經定義好的變數,變數名不能自定義,變數作用也是固定的。

變數定義

name="lwj"

變數疊加

aa=123

aa="$aa"456 或者 aa=$789

變數呼叫

echo $name

變數檢視

set變數刪除

unset name

設定環境變數

export 變數名=變數值

查詢變數

env刪除變數

unset

位置引數變數

$n:n為數字,$0代表命令本身,$1-$9代表第一到第九個引數,十以上的引數需要用大括號

包含,如$

$*:這個變數代表命令列中所有的引數,$*把所有的引數看成乙個整體

$@:這個變數也代表命令列中所有的引數,不過$@把每個引數區分對待

$#:這個變數代表命令列中所有引數的個數

預定義變數

$?:最後一次執行的命令的返回狀態。如果這個變數的值為0,證明上乙個命令正確執行;如果

這個變數的值為非0(具體是哪個數,由命令自己來決定),則證明上乙個命令執行不正確了。

$$:當前程序的程序號(pid)

$!:後台執行的最後乙個程序的程序號(pid)

shell基礎筆記

3.運算子 4.條件判斷 5.流程控制 6.read 讀取控制條輸入 7.函式 8 shell 工具 指令碼格式 執行指令碼 有兩種方法 改變許可權為755 採用解析器 例如 常用的系統變數 基本語法 定義變數 變數 值 撤銷變數 unset 變數 宣告靜態變數 readonly 變數,不能unse...

shell學習筆記1 基礎篇

使用者正常退出shell時,系統會將敲過的命令存入.bash history中。與history有莫大的關聯。1 表示執行上一條命令 2 n,n表示數字,表示執行history中第n條命令 3 可以進行模糊匹配,如 pass可以執行之前輸過的passwd命令 將複雜的命令賦值給乙個簡單的別名 1 a...

Linux筆記12 Shell基礎

histroy 歷史命令一般存放在 bash histroy檔案中,根據執行這個命令使用不同的引數,對此檔案的內容可以寫入或是清空。歷史命令缺省會儲存1000條,這個配置可以在環境變數 etc profile配置檔案中進行修改。tab鍵 按tab鍵進行命令或檔名補全。別名 alias,可以給乙個命令...