1. 程式人生 > >Bash基礎特性

Bash基礎特性

命中 展開 kde 變量名 子進程 生命周期 pat 字符 數字

bash特性及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基礎特性