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,可以給乙個命令...