計算機基礎
Linux曆史
檔案管理(檢視、處理)
目錄管理
LHS
時間戳、時間、關機
哲學思想
檔案命名
Bash的基礎特性
指令行展開
指令補全
路徑補全
glob
快捷鍵
管道
I/O重定向
别名
hash
變量
grep,egrep,fgrep
配置檔案
算術運算表達式
測試表達式
退出狀态碼
變量:
定義
變量名
變量
資料類型
變量類型
變量類型作用(存儲資料的格式,範圍,參與的運算)
強類型
弱類型 1不用定義 2 直接指派,預設存儲 為字元型 3 調用時隐式轉換
bash作用域的變量
本地, 環境 , 局部, 位置 , 特殊變量 的生效範圍
變量指令的法則
1 不能數字開頭,不能用關鍵字
2 見名知義
3 避免全大寫, _ 開頭
檔案命名的法則
1 不能數字開頭,不能用特殊字元 (glob通配符)
2 區分大小寫
3 不能為/ [^/]
4 長度<255
5 .開頭為隐藏檔案
檔案/ 組合 小程式/ 文本實作配置 / 盡量不互動
grep . [] [^] * \+ \? \{m\} \{m,n\} \(\)
egerp . [] [^] * + ? {m} {m,n} () |
^,$
egrep 或 “grep并不支援”
[abcd] 字元級别的或
c|cat 左側整體或右側整體
(c|c)at 分組或
變量指派
name='value'
name将單個記憶體空間命名
= 指派符号
指派: 将值存儲在變量所表示的記憶體空間中
' '
“ ”
value 值
純文字引用指派
name=obama
空格?
變量引用實作指派 加載一個變量記憶體空間中存儲的值至CPU寄存器中,經過處理後,存加記憶體空間中.
name="obama jerry"
name=$name ##存回原處
var=$name ##存到另一處
指令引用實作指派
name=`command`
name=$(command)
引用 強、弱
${name} $name 使用的場景
撤消: Unset
本地變量檢視: set
環境變量檢視: export env printenv
不要随便給大寫字母指派,可能會導緻bash工作特性改變
PS1 指令提示符前面的字元
PATH 指令的搜尋路徑
UID
SHELL
位置變量: 類似,正規表達式引擎将括号中模式所比對到的内容記錄于内置變量中, \1,\2,\3
bash将傳遞給腳本的參數儲存在内置變量中, $1,$2,$3,可供腳本中調用,如果,不存在,則為空。
特殊變量:
$0
$#
$@
$* 看做一個整體
$? 指令的執行狀态結果
換港操作符
shift #
算術運算
let 算術運算表達式
let var=$num1+$num2
變量引用指派
var=$[算術運算表達式]
var=$((算術運算表達式))
指令引用指派
var=$(expr 算術運算表達式)
var=$(expr $num1 + $num2)
生成随機數
let $RANDOM%$VAR
$[$RANDOM%10]
$(($RANDOM%10))
$( expr $RANDOM % 10)
配置檔案
全局: /etc/{profile,profile.d} /etc/bashrc
個人:~/.bashrc, ~/.bash_profile
功能
profile 環境 變量 , 腳本
bashrc 本地變量 别名
登陸方式,讀取配置順序
互動式登陸
需要輸入密碼的登陸 或 su -[l] user
/etc/profile /etc/profile.d ~/.bash_profile
~/.bashrc /etc/bashrc
非互動式登陸
不需要輸入密碼的登陸 或 su user 圖形終端
腳本運作在目前shell子shell程序中
~/.bashrc /etc/bashrc /etc/profile.d
測試表達式
數值測試
符号: -eq,-ne,-gt,-ge,-lt,-le
字元測試 (左右都需要 加 引号, 除了 pattern不能加引号,且隻能用于 ` ` 中)
符号: == , != , >, < , -z "string" -n "string" A =~ pattern(正規表達式字元組合的模式)
檔案測試
符号
退出狀态碼
exit [#]
本文轉自 lccnx 51CTO部落格,原文連結:http://blog.51cto.com/sonlich/1953102,如需轉載請自行聯系原作者