shell命令總結

2021-08-01 20:38:03 字數 2491 閱讀 7367

while

read line ;do

echo

$line

done

< /path/file;

test命令基本等價於

用法示例:

if test -e ./file;then

echo

true

fi

獲取表示式的值 :$(())

示例:

echo $((6%3))

輸出 0

也可以進行賦值

$((var=6%3))

echo

$var

輸出var的值

陣列定義

arr=(`ls ./`)

arr=(123

4)

陣列遍歷

arr=(123

4)for i in

$;do

echo

$idone

中只能使用-a或者-o進行與邏輯判斷,支援&&操作符

或者中使用問題:

1.判斷條件值需要用空格與[隔開

2.判斷條件需要兩個值需要與邏輯判斷符用空格隔開123 == 123,否則會一直返回true

3.if判斷的用法不僅限於 判斷

if

echo

"$word" | grep "123"

then

echo

"123"

else

echo

"not found"

fi

實現字串的拼接

1.str=st

r12.str=」st

r1str2」

chars=$(cat /etc/password)
chars 變數的值就是執行car /etc/password的結果

$$差異

asdasd=456

var1=$

echo var1 #輸出456

unset var1

var1=

var1=$

echo

$var1

# 沒有輸出資訊

當var1 宣告,但是值為null時,$不會輸出值

賦值時需要注意

echo

$#輸出var的值為abc

echo

$#輸出var的值為abc,var的值已經賦值不會改變,也就是說對於已經賦值的變數不會改變其值

$,$1.給變數賦值時=兩邊不要存在空格,否則會當成命令進行執行 2.?

這個變數

儲存的是

最近的命

令的執行

結果0執

行正確其

它執行錯

誤3.@是所有的引數列表,$#為引數的個數

4.指令碼中單引號不可包含變數,雙引號字串換可以

5.多個語句寫在同一行需要用;進行分割

6.中間的command可以賦值於變數,執行後的輸出

7. command &> filename 重定向輸出錯誤與標準輸出

1.賦值字串也可以不要引號

var1=123\ water

echo

$var1

#123 water

補充我們也可以多行輸入

echo

123\

456#123456 輸出一行

2.賦值ascii碼值

檔案相關

-e filename 如果filename存在則為真

-r filename 如果檔案存在且可讀為真

-w filename 如果檔案存在且可寫為真

-x filename 如果檔案存在可寫為真

-d filename 如果檔案存在且為目錄為真

-f filename 如果檔案存在且為普通檔案為真

字串相關

==,!= 判斷字串相等或者不等

-z 判斷字串長度為0則為真

-n 判斷字串長度不為0則為真

全域性變數

$uid只有當值為0時,執行指令碼的許可權為root許可權

shell命令總結

顯示當前目錄 pwd 改變目錄 cd cd 目標目錄 絕對路徑 其中 目標目錄可以是 代表當前目錄 代表上一層目錄 代表前乙個工作目錄 代表 目前使用者身份 所在的家目錄 相對路徑的作用即使簡化目錄位置的編寫 比如說 你要想檢視 user1 家目錄下的d1目錄下的file1這個檔案 如果登入使用者是...

shell命令總結

1.1在linux系統中應用程式開啟終端 模擬終端 1.2在圖形化介面,按ctrl alt fn 1 6 進入虛擬終端 1.3使用遠端mobaxterm 2.為管理員使用的命令提示符 為普通使用者使用的命令提示符 3.tty 檢視登陸方式,pts 0代表是模擬終端,tty1 代表虛擬終端 echo ...

shell命令總結

nohup 不結束通話地執行命令後台執行 一般搭配nohup使用 如nohup command set set e 你寫的每個指令碼都應該在檔案開頭加上set e,這句語句告訴bash如果任何語句的執行結果不是true則應該退出。這樣的好處是防止錯誤像滾雪球般變大導致乙個致命的錯誤,而這些錯誤本應該...