bash按鍵筆記

2021-09-29 01:25:22 字數 1506 閱讀 3743

組合鍵功能與示範

[ctrl]+u

從游標處向前刪除指令串

[ctrl]+k

從游標處向後刪除指令串

[ctrl]+a

讓游標移動到整個指令串的最前面

[ctrl]+e

讓游標移動到整個指令串的最後面

變數設定方式說明$

若變數內容符合【舊字串】,則【第乙個舊字串會被新字元】

$若變數內容符合【舊字串】,則【全部的舊字串會被新字串取代】

終端機的環境設定:

組合按鍵

執行結果

ctrl+c

終止目前的命令

ctrl+d

輸入結束,例如郵件結束的時候

ctrl+m

就是enter

ctrl+s

暫停螢幕的輸出

ctrl+q

恢復螢幕的輸出

ctrl+u

在提示字元下,將整列命令刪除

ctrl+z

暫停目前的命令

萬用字元與特殊符號

符號意義

*代表【0個到無窮多個】任意字元

?代表一定有乙個任意字元

同樣代表【一定有乙個在括號內】的字元(非任意字元),例如[abcd]代表【一定有乙個字元,可能是a,b,c,d這四個任何乙個】

[^]若中括號內的第乙個字元為指數符合[^],那表示【^abc】代表一定有乙個字元,只要是非a,b,c的其他字元就接受的意思。

除了萬用字元之外,bash環境中的特殊符號有哪些?

符號內容

#批註符號,這個最常被使用在script當中,視為說明!在後的資料均不執行

\跳脫符號,將特殊符號或萬用字元,還原成一般字元

|管線(pipe):分隔兩個管線命令的界定

;連續指令下達分隔符:連續性命令的界定(注意!與管線命令並不相同)

~使用者的家目錄

$取用變數前導符:亦即是變數之前需要加的變數取代符

&工作控制(job control):將指令變成背景下工作

!邏輯運算意義上的【非】 not的意思!

/目錄符號;路徑分隔的符號

>,>>

資料流重導向:輸出導向,分別是【取代】與【累計】

<,<<

資料庫重導向:輸入導向

''單引號,不具有變數置換的功能($變為純文字)

""具有變數置換的功能,($可保留相關功能)

()在中間為子shell的起始與結束

``兩個[`]中間為可以先執行的指令,亦可用$()

{}在中間為命令區塊的組合

命令執行的判斷依據:

指令下達情況

說明cmd1 && cmd2

1.若cmd1執行完畢且正確執行($?=0),則開始執行cmd2.

2.若cmd1執行完畢且為錯誤($?!=0),則cmd2不執行

cmd1 || cmd2

1.若cmd1執行完畢且正確執行($?=0),則cmd2不再執行

2.若cmd1執行完畢且為錯誤($!=0),則開始執行cmd2

bash 指令碼筆記

輸入了什麼引數 輸入了多少個引數 1輸入的第乙個引數,依此類推,直到 9 上一次的執行結果 為 1 2 3 一起被引號包住 為 1 2 3 分別被包住 為3 引數數量 d target target 是否是 目錄 f target 是否是檔案 e target 是否存在 目錄和檔案都適用 x tar...

bash 技巧筆記

alias 可以對乙個或一組命令起乙個別名。和 bash 函式不同的是 alias 沒有自己的獨立程序。在有些情況下,和函式是不能相互替代的。比如alias shift2 shift 2 之後就可以在指令碼或函式中使用,踢掉兩個引數。這樣的東西用函式是不管用的。但是,alias 如果寫在指令碼裡,執...

BASH學習筆記 sed

可以通過定址來定位你所希望編輯的行,該位址用數字構成,用逗號分隔的兩個行數表示以這兩行為起止的行的範圍 包括行數表示的那兩行 如1,3表示1,2,3行,美元符號 表示最後一行。範圍可以通過資料,正規表示式或者二者結合的方式確定。呼叫sed命令有兩種形式 a 在當前行後面加入一行文字。b lable ...