bash:
管理員: 提示符#
普通使用者:提示符$
環境變數
a=3(變數是指記憶體空間,a指的是記憶體空間的名稱-變數標示符)
ps1 \u@\h:\w\$ \u使用者名稱 \h主機名 \w工作目錄的路徑基名
# echo
引用乙個變數: $;
bash特性:
命令有兩種型別:
builtin:在shell中實現的即為內建命令;
外部命令:在檔案系統上的某位置有乙個與命令名稱對應的可執行檔案;
如何判斷:使用type命令。
shell中的引用:
'':強引用,變數替換不會進行
"":弱引用,能夠執行變數替換
``:命令引用,引用命令的執行結果,還有另外一種形式:$(命令)
變數替換:$
命令歷史
bash儲存過去曾經執行過的命令列表
當前shell程序儲存在緩衝區中;
緩衝區中的命令在shell退出時儲存至檔案中,家目錄的.bash_history。
使用上下箭頭可以翻看此前執行過的命令:
命令別名
alias:顯示當前shell中定義的所有別名:
# alias 別名='原始命令'
# unalias 別名
bash快捷鍵
ctrl+a:跳至命令列行首
ctrl+e: 尾
ctrl+u:清除命令列首至當前游標所在處的內容
ctrl+k:清除命令行尾至游標所在處的內容
ctrl+l:清屏,相當於clear命令
ctrl+c:終止當前正在執行的程序
ctrl+z:將當前命令送至後台
bash補全
命令補全:
shell命令:內部,外部
外部:在系統某路徑下有乙個可執行程式
內部:path:是一組由冒號分割的命令
使用tab鍵執行補全
路徑補全:在給出的打頭路徑補全;如果沒有打頭路徑,則為當前;
提供程式設計環境
變數程式控制
#!/bin/bash
shebang
elf:
#!/bin/bash
程式=指令+資料
bash的變數
變數的型別:
本地變數:只針對當前shell程序有效,對其子shell以及其他shell都無效;
定義變數:[set]var_name="value"
引用變數:$
撤銷變數:unset var_name
區域性變數:僅對區域性**生效
local var_name="value"
環境變數:對當shell程序及其子shell有效;
exprot var_name="value"
var_name="value"
export var_name
匯出位置變數:
$1,$2...$n
./learnbash.sh 2 8
特殊變數:
$0:指令碼名稱本身
$?:上條命令的執行狀態返回值0
0:成功
1-255:失效
BASH學習筆記 sed
可以通過定址來定位你所希望編輯的行,該位址用數字構成,用逗號分隔的兩個行數表示以這兩行為起止的行的範圍 包括行數表示的那兩行 如1,3表示1,2,3行,美元符號 表示最後一行。範圍可以通過資料,正規表示式或者二者結合的方式確定。呼叫sed命令有兩種形式 a 在當前行後面加入一行文字。b lable ...
BASH學習筆記 split
名稱 split 使用許可權 所有使用者 使用方式 split option input prefix 說明 將乙個檔案分割成數個。而從 input 分割輸出成固定大小的檔案,其檔名依序為 prefixaa,prefixab.prefix 預設值為 x。若沒有 input 檔或為 則從標準輸入讀進資...
BASH學習筆記 grep
saturday,january 3,2009 grep的工作方式是這樣的,它在乙個或多個檔案中搜尋字串模板。如果模板包括空格,則必須被引用,模板後的所有字串被看作檔名。搜尋的結果被送到螢幕,不影響原檔案內容。grep可用於shell指令碼,因為grep通過返回乙個狀態值來說明搜尋的狀態,如果模板搜...