Linux Bash Shell常用命令速查總結

2021-09-26 08:52:01 字數 3660 閱讀 9501

又是老文章的搬移。

最近在工作之餘常用的是bash shell,其它shell以前也寫過,還是覺得bash好用,下文只說明bash shell的常用命令,內容參考以前一位大神的文章,自己做了增刪改,寫在這裡備用。在這裡推薦使用的程式設計工具是:

#!/bin/bash

#!/usr/bin/expect //這裡是用expect寫指令碼時的開頭,這裡備用

key

value

$#儲存程式命令列引數的數目

$?儲存前乙個命令的返回碼

$0儲存當前執行指令碼的程式名

$* 和 $@

都是以("$1 $2…")的形式儲存所有輸入的命令列引數

$$指令碼執行程序號

abc=9 或 abc=「name」

注意:

$abc
$1

...$2

...$3

...$4

...

key

value

$str1 = $str2

當str1與str2相同時,返回true

$str1 != $str2

當str1與str2不同時,返回true

$str

當str不是空字元時,返回true

-n $str

當str的長度大於0時,返回true

-z str

當str的長度是0時,返回true

keyvalue

int1 -eq int2

等於;當int1等於int2時,返回true

int1 -ge int2

大於等於;當int1大於/等於int2時,返回true

int1 -le int2

小於等於;當int1小於/等於int2時,返回true

int1 -gt int2

大於;當int1大於int2時,返回true

int1 -lt int2

小於;當int1小於int2時,返回true

int1 -ne int2

不等於;當int1不等於int2時,返回true

keyvalue

-d file

當file是乙個目錄時,返回 true

-f file

當file是乙個普通檔案時,返回 true

-r file

當file是乙個可讀檔案時,返回 true

-s file

當file檔案長度大於0時,返回 true

-w file

當file是乙個可寫檔案時,返回 true

-x file

當file是乙個可執行檔案時,返回 true

keyvalue

! expr

當expr的值是false時,返回true

expr1 -a expr2

當expr1,expr2值同為true時,返回true

expr1 -o expr2

當expr1,expr2的值至少有乙個為true時,返回true

現在新的bash中,也可以用c裡的判斷符號了,如下:

keyvalue

exp1 || exp2

當exp1和exp2的值至少乙個為true時,返回true

exp1 && exp2

當exp1和exp2的值同為true時,返回true

int1 <= int2

當int1小於/等於int2時,返回true

int1 >= int2

當int1大於/等於int2時,返回true

int1 < int2

當int1小於int2時,返回true

int1 > int2

當int1大於int2時,返回true

str1 == str2

當str1與str2相同時,返回true

str1 != str2

當str1與str2不同時,返回true

-e file

當file存在時,返回true

-o file

當file檔案的所有者是當前使用者時,返回true

語句語法格式

if 語句

if [[ condition ]]; then

#statements

else

#statements

fi或者

if [[ condition ]]; then

#statements

elif [[ condition ]]; then

#statements

else

#statements

ficase語句

case word in

pattern )

;;esac

語句語法格式

for語句

第一種:類似c語言

for (( i = 0; i < 10; i++ )); do

#statements

done

第二種:用於讀取字串很有用

for i in words; do

#statements

done

while語句

while語句是shell提供的另一種迴圈語句.

while語句指定乙個表示式和一組命令.

這個語句使得shell重複執行一組命令,直到表示式的值為false為止.

while [[ condition ]]; do

#statements

done

until語句

until與while語句具有類似的語法格式和功能,

不同的是while中expression的值為true時, shell執行命令組;

而until中當expression的值為false時,shell才執行那組命令.

until [[ condition ]]; do

#statements

done

shift語句

shift將存放在位置變數中的命令列引數,依次向左傳遞.

例如,位置變數當前值為: $1=file1 $2=file2 $3=file3

執行一次shift命令後,位置變數的值為: $1=file2 $2=file3

還可以在shift命令中指定位置變數轉移的次數, 如: shift n

select語句

select 表示式是一種bash的擴充套件應用,動作包括:

(1)、自動用1,2,3,4列出選單 (沒有echo指令,自動顯示選單)

(2)、自動read輸入選擇 (沒有 read指令,自動輸入)

(3)、賦值給變數 (沒有賦值指令,自動輸入數字後,賦值字串給變數)

shell允許使用者定義自己的函式.函式是高階語言中的重要結構.shell中的函式於c或者其他語言中定義的函式一樣.與從頭開始,一行一行地寫程式相比,使用函式主要好處是有利於組織整個程式.在bash中,乙個函式的語法格式如下:

fname (

)

複製**定義好函式後,需要在程式中呼叫他們.bash中呼叫函式的格式:

fname [parm1 parm2 parm3...]
呼叫函式時,可以向函式傳遞任意多個引數.函式將這些引數看做是存放他的命令列引數的位置變數.

Linux Bash Shell 學習筆記

1 bash指令碼的引數處理 bash的引數可以用 加數字編號來訪問,其中 代表指令碼的引數個數 1代表指令碼的第1個引數 2代表指令碼的第2個引數 以此類推,n代表指令碼的第n個引數,但是,不能用 10來訪問第十個引數。如果遇到引數超過10個的情況,必須處理或儲存第乙個引數 1,然後使用shift...

Linux bash shell 使用技巧

使用gnu linux系統使用bash是家常便飯,知道一些bash常用的快捷鍵就顯得非常有必要,bash快捷鍵大全 ctrl a 相當於home鍵,用於將游標定位到本行最前面,回到命令列開始,unix上只能用這個組合鍵 ctrl e 相當於end鍵,即將游標移動到本行末尾,轉到命令行尾,unix上同...

linux bash shell 基本語法

1.read 讀取來自鍵盤的輸入內容賦值給變數,使用方法如下 root dev opt android sdk sdk read var read this is what i get from my keyboard root dev opt android sdk sdk echo this i...