Linux shell基本語法

2021-09-10 22:39:39 字數 3560 閱讀 5656

1.shell變數

一般shell的變數賦值的時候不用帶「$」,而使用或者輸出的時候要帶「 $ 」。加減乘除的時候要加兩層小括號。括號外面要有乙個「 $ 」,括號裡面的變數可以不用「$」。需要注意的是,變數賦值,變數使用的時候不能有空格,否則會被解析成命令,報錯無此命令。

#!/bin/bash

a=1b=2

c=$((a+b))

echo $c

echo "a = "$a #輸出a的值

2 .shell變數表示式

echo "the source string is "$ #源字串

echo "the string length is "$ #字串長度

echo "the 6th to last string is "$ #擷取從第五個後面開始

到最後的字元

echo "the 6th to 8th string is "$ #擷取從第五個後面開始

的2個字元

echo "after delete shortest string of start is "$ #從開頭刪除a到f的字元

echo "after delete widest string of start is "$ #從開頭刪除a以後的字》符

echo "after delete shortest string of end is "$ #從結尾刪除f到j的字元

echo "after delete widest string of end is "$ #從結尾刪除j前面的所》有字元包括j

結果如下:

the source string is a,b,c,d,e,f,g,h,i,j

the string length is 19

the 6th to last string is ,d,e,f,g,h,i,j

the 6th to 8th string is ,d

after delete shortest string of start is ,g,h,i,j

after delete widest string of start is

after delete shortest string of end is a,b,c,d,e,

after delete widest string of end is

3.shell測試判斷test或

需要注意的是使用的時候必須要每個變數之間都要有空格,和左右中括號也要有空格,否則報錯

test 檔案運算子

利用這些運算子,您可以在程式中根據對檔案型別的評估結果執行不同的操作:

-b file 如果檔案為乙個塊特殊檔案,則為真

-c file 如果檔案為乙個字元特殊檔案,則為真

-d file 如果檔案為乙個目錄,則為真

-e file 如果檔案存在,則為真

-f file 如果檔案為乙個普通檔案,則為真

-g file 如果設定了檔案的 sgid 位,則為真

-g file 如果檔案存在且歸該組所有,則為真

-k file 如果設定了檔案的粘著位,則為真

-o file 如果檔案存在並且歸該使用者所有,則為真

-p file 如果檔案為乙個命名管道,則為真

-r file 如果檔案可讀,則為真

-s file 如果檔案的長度不為零,則為真

-s file 如果檔案為乙個套接字特殊檔案,則為真

-t fd 如果 fd 是乙個與終端相連的開啟的檔案描述符(fd 預設為 1),則為真

-u file 如果設定了檔案的 suid 位,則為真

-w file 如果檔案可寫,則為真

-x file 如果檔案可執行,則為真

4.shell條件分支結構語句

1).單分支判斷語句

格式:if 條件 ; then 結果 fi ,最後面一定要有fi,在shell指令碼裡面,控制分支結構結束都要和開頭的單詞相反,例如,if fi,case esac。

#!/bin/bash

echo "please input a filename"

read filename

if [ -f $filename ];then

echo "this file is a ordinary file."

fi

2).雙分支判斷語句

echo "please input a filename"

read filename

if [ -f $filename ];then

echo "this file is a ordinary file."

else

echo "this file is not a ordinary file."

fi

3).多分支判斷語句

if [ "$a" == "$b" ] || [ "$c" == "$b" ];

then

......

elif [ "$d" == "$e" ];

then

.....

else

.....

fi

case語句

case $a in

"a")

....

;;"b")

....

;;esac

5.迴圈表示式:

while [ .... -a .... ]

do ....

done

for迴圈

for $a in a b c

do ....

done

for (( i=1;i<50;i=i+1 ))

do s=$(($a+$b))

done

6、定義函式:

function print()

7、break和continue:

break跳出迴圈。break n(預設為1跳出本次迴圈,2則是跳出上次迴圈)

if [ ... ];then

break

fi

continue終止本次迴圈,開始下次迴圈。

if [ ... ];then

continue

fi

linux shell 基本語法

從程式設計師的角度來看,shell本身是一種用c語言編寫的程式,從使用者的角度來看,shell是使用者與linux作業系統溝通的橋梁。使用者既可以輸入命令執行,又可以利用 shell指令碼程式設計,完成更加複雜的操作。在linux gui日益完善的今天,在系統管理等領域,shell程式設計仍然起著不...

linux shell程式設計基礎(基本語法)

通過終端編寫指令碼程式,輔助開發人員完成工程自動化操作 直接執行 需要執行許可權 列印完不換行 可以不加雙引號,但規範寫法要新增 不顯示輸入資訊 賦值 可以用雙引號也可以不用雙引號 name jackecho name name echo 001 if 條件 then 條件為true執行的 fiif...

Linux Shell語法記錄

路徑操作獲取當前路徑 pwd 把當前路徑存入某一變數 path dirname pwd 查詢檔案所在位置 find path type name path表示要查詢的路徑 type表示要查詢的準則 name表示要查詢的目標 例如 find name ifgame 查詢根目錄下所有名稱為ifgame的...