Bash基礎特性
終端,附著在終端的接口程序:
GUI:KDE,GNome,xfce
CLI:/etc/shells
bash的特性:
命令行展開:~,{}
命令別名:alias,unalias
命令歷史:history
文件名通配:glob
快捷鍵:
命令補全:
路徑補全:
命令hash:
緩存此前命令的查找結果:key-value
key:搜索鍵
value:值
[root@apenglinux-001 ~]# hash 命中 命令 16 /usr/bin/grep 1 /usr/bin/tail 6 /usr/sbin/useradd [root@apenglinux-001 ~]# hash -d grep [root@apenglinux-001 ~]# hash 命中 命令 1 /usr/bin/tail 6 /usr/sbin/useradd [root@apenglinux-001 ~]# hash -r [root@apenglinux-001 ~]# hash hash: 哈希表為空
bash的特性:變量
程序:指令+數據
指令:由程序文件提供
數據:IO設備、文件、管道、變量
程序:算法+數據結構
變量名+指向的內存空間
變量賦值:name=value
變量類型:存儲格式、表示數據範圍、參與的運算
編程語言:
強類型變量
弱類型變量:
bash把所有變量統統視作字符型
bash中的變量無需要事先聲明,相當於把聲明和賦值過程同時實現
聲明:類型,變量名
變量替換:把變量名出現的位置替換為其所指向的內存空間中的數據
變量引用:${var_name},$var_name
變量名:變量名只能包含數字、字母和下劃線,而且不能以數字開頭
變量名:見名知義,命名機制遵循某種法則,不能使用程序的保留字
bash變量類型:
本地變量:作用域僅為當前shell進程;
變量賦值:name=value;
變量引用:${name},$name
雙引號:變量名會替換為其值
單引號:變量名不會替換為其值
查看變量:set
撤銷變量:unset name(此處非變量引用)
環境變量:作用域為當前shell進程及其子進程
變量賦值:
1.export name=value
2.name=value,export name
3.declare -x name=value
4.name=value,declare -x name
變量引用:${name},$name
註意:bash內嵌了許多環境變量(變量名大寫),用於定義bash的工作環境
PATH,HISTSIZE,HISTFILE,HISTFILESIZE,HISTCONTROL,SHELL,HOME,UID,PWD
查看環境變量:export,declare -x,printenv,env
撤銷環境變量:unset name
局部變量:作用域僅為某代碼片斷(函數上下文)
位置參數變量:當執行腳本的shell進程傳遞的參數
特殊變量:shell內置的有特性功用的變量
如:$?(0:成功;1-255:失敗)
只讀變量:
1.readonly name
2.declare -r name
只讀變量無法重新賦值,並且不支持撤銷,存活時間為當前shell進程的生命周期,隨shell進程終止而終止
Bash基礎特性