只要能夠操作應用程序的接口都能稱為shell。狹義的shell指的是命令行方面的軟件,包括bash。廣義的shell則包括圖形界面軟件,因為圖形界面其實也可以操作各種應用程序來調用內核工作,不過,在這里我們主要指的是bash。
# type [-tpa] command –> 查看命令是否為bash的內置命令或者是外部命令
* 利用$var或者是${var}可獲取變量var的值
* bash中的雙引號:特殊字符如$等,可以保有原本的特性
* bash中的單引號:所有的字符均為普通的字符,沒有其他含義
* 可以用/將特殊字符變成一般字符
* 可用$(其他命令)來在命令中嵌套其他命令的返回值,也就是說:${var}取得變量var的值,$(command)取得命令返回值
* 若變量需要在其他子進程中執行,需要export var 來使變量成為環境變量
* unset var 可取消變量var的定義
====環境變量====
# env –> 查看當前系統的環境變量
$本身也是一個變量,表示本shell的PID號,比如 # echo $$ 輸出本shell的PID
?本事也是一個變量,表示上一個執行的命令的返回值,一般如果是0表示執行成功,如果非0表示有問題。
公共的語系編碼設置:/etc/sysconfig/i18n
# read [-pt] variable –> 鍵盤讀取變量輸入值
-p:后面可以跟提示符
-t:后面可以接等待的秒數,不會一直等待用戶輸入
====變量的聲明====
# declare [-aixrp] var
-a:將后面的var定義為數組類型
-i:將后面的var定義為integer整數類型
-x:用法與export一樣,就是將后面的var變成環境變量
-r:將變量var設置成readonly狀態,該變量不能被更改,也不能重設
-p:單獨列出變量的類型
如果把-改成+表示取消操作
====限制用戶的計算機資源使用====
# ulimit [-SHacdfltu] [配額]
-H:hardlimit,嚴格的限制,必定不能超過這個數值
-S:softlimit,可以超過這個值,但有警告信息
-a:后面不接任何參數,列出所有的限制額度
-c:某些進程發生錯誤的時候,系統會將該進程在內存中的信息寫成文件,稱為內核文件。限制每個內核文件的最大容量
-f:此shell可創建的最大單一文件容量,單位為KB
-d:進程可以使用的最大內存量
-l:可用于lock的內存量
-t:最大的CPU時間(單位為秒)
-u:單一用戶可使用的最大進程(process)數量
====變量內容的刪除與替換====
# echo ${path#/*:} –> 刪除path變量中最前面的那個以/開頭,以:結尾的
# echo ${path##/*:} –> 刪除最長的那個,也就是說只保留了最后的一個路徑
# –> 符合替換文字的最短的那個
## –> 符合替換文字的最長的那個
如果想從后面開始刪,用%替換#即可
接下來講替換功能:
# echo ${path/sbin/SBIN} –> 將第一個sbin替換成SBIN
# echo ${path//sbin/SBIN} –> 將所有的sbin替換成SBIN
我們將這部分總結說明下一下:
| 變量設定方式 | 說明 |
| ${變量#關鍵字} ${變量##關鍵字} | 若變量 主站蜘蛛池模板: 玛曲县| 白河县| 乌拉特中旗| 怀宁县| 阿拉善右旗| 宁河县| 夹江县| 石林| 乌恰县| 陈巴尔虎旗| 赞皇县| 徐闻县| 西吉县| 尉犁县| 利川市| 兰州市| 邹城市| 临桂县| 陇川县| 绥中县| 曲水县| 西城区| 海原县| 灵石县| 黔江区| 灵武市| 蓬莱市| 佛山市| 四平市| 广灵县| 黑龙江省| 昆明市| 芷江| 琼结县| 黄山市| 施甸县| 南皮县| 平昌县| 孝义市| 达拉特旗| 益阳市| |