linux shell 基本語法

2021-09-07 09:11:48 字數 2431 閱讀 4257

從程式設計師的角度來看, shell本身是一種用c語言編寫的程式,從使用者的角度來看,shell是使用者與linux作業系統溝通的橋梁。使用者既可以輸入命令執行,又可以利用 shell指令碼程式設計,完成更加複雜的操作。在linux gui日益完善的今天,在系統管理等領域,shell程式設計仍然起著不可忽視的作用。深入地了解和熟練地掌握shell程式設計,是每乙個linux使用者的必修 功課之一。

linux的shell種類眾多,常見的有:bourne shell(/usr/bin/sh或/bin/sh)、bourne again shell(/bin/bash)、c shell(/usr/bin/csh)、k shell(/usr/bin/ksh)、shell for root(/sbin/sh),等等。不同的shell語言的語法有所不同,所以不能交換使用。每種shell都有其特色之處,基本上,掌握其中任何一種 就足夠了。在本文中,我們關注的重點是bash,也就是bourne again shell,由於易用和免費,bash在日常工作中被廣泛使用;同時,bash也是大多數linux系統預設的shell。在一般情況下,人們並不區分 bourne shell和bourne again shell,所以,在下面的文字中,我們可以看到#!/bin/sh,它同樣也可以改為#!/bin/bash。

一.基本語法

1.變數:export 變數全域性

#!/bin/bash

num=$1

export num

echo $num

2.條件判斷

if

[[ condition ]]; then

#statements

fi

#!/bin/bash

if [[ $1 == 1

]]; then

echo $

1else

echo

"value is not 1

"fi

常用的判斷引數列表

3.case分支

#!/bin/bash

case $1in1

) echo

"the value is 1";;

2)echo

"the value is 2";;

3)echo

"the value is 3";;

4)echo

"the value is 4";;

*)echo

"defult value

"esac

4.迴圈語句for

#方法1

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

#statements

done

#方法2

for i in words; do

#statements

done

例程:

#!/bin/bash

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

echo

"the value is $i

"done

5.while迴圈

while [[ condition ]]; do

#statements

done

例程:

#!/bin/bash

i=$1

while [[ $i != 0

]];

doecho

"value is $i

"let

"i=i-1

"done

6,函式

#!/bin/bash

function add()

value=$(add $1 $2

);echo $value,$?

7.陣列

# 取得陣列元素的個數

length=$

# 或者

length=$

# 取得陣列單個元素的長度

lengthn=$

讀取陣列元素值的一般格式是:

$

valuen=$

例程

#!/bin/bash

name=(a b c d e f g)

length=$

echo $length

for (( i = 0; i < $length; i++ )); do

echo valuen=$

done

Linux shell基本語法

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

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的...