二十 shell指令碼程式設計 1

2021-05-28 09:07:34 字數 2755 閱讀 7332

在電腦科學中,shell俗稱殼,是指「提供使用者使用介面」的軟體(命令解析器),它類似於dos下的command.com。它接收使用者命令,然後呼叫相應的應用程式,同時它又是一種程式語言。作為命令語言,它互動式解釋和執行使用者輸入的命令或者自動地解釋和執行預先設定好的一連串的命令;作為程式語言,它定義了各種變數和引數,並提供了許多在高階語言中才具有的控制結構,包括迴圈和分支它是命令語言、命令解釋程式及程式語言的統稱,本章主要內容如下:

◆ 編寫shell指令碼的步驟

◆ shell中的控制結構

◆ shell中的函式

一、編寫shell指令碼的步驟

1、選擇編輯器

1.1、選擇linux系統自帶的vi編輯器

1.2、notepad、ue、editplus等

2、編寫指令碼

例1 example_1.sh:

#!/bin/bash

echo "hello world"

3、賦予執行許可權

chmod a+x example_1.sh

4、執行指令碼

方式一:.  example_1.sh

方式二:sh example_1.sh

方式三:bash example_1.sh

5、執行結果

hello world

二、shell中的控制結構

★ if then else 語句

例:

if [ "90" -lt "100" ];then

echo "yes, 90 is less than 100"

else

echo "no, 90 is more than 100 "

fi

★ case 語句

例:

echo -n "enter a number from 1 to 3:"

read num

case $num in

1) echo "you select 1"

;;2) echo "you select 2"

;;3) echo "you select 3"

;;*) echo "error! $0:this is not between 1 to 3" >$2

exit 1

;;esac

★ for 迴圈 例:

例1
#!/bin/bash

for i in 1 2 3

doecho $i

done

==> 執行,輸出12

3

例2:

#!/bin/bash

for((i=0 ; i<2 ; i++))

doecho $i

done

==> 執行,輸出

01

備註:

((表示式)) 雙括號表示計算表示式的值,

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

★ while 迴圈

表示條件為真時執行,直達條件為假時停止執行

例:

#!/bin/bash

a=0while [ $a -lt 2 ]

doa=`expr $a + 1`

echo $a

done

==> 執行,輸出

12

★ until 迴圈

表示條件為假時執行,直到條件為真時停止執行

#!/bin/bash

a=0until [ $a -gt 2 ]

doa=`expr $a + 1`

echo $a

done

==> 執行,輸出12

3

★ break . continue

break :可用於case語句,在迴圈中使用,表示直接退出迴圈

continue:只能用於迴圈語句中,表示退出當次迴圈

例:

#!/bin/bash

for((i=0 ; i<5 ; i++))

doif [ $i -eq 2 ] ; then

continue

fiif [ $i -eq 4 ] ; then

break

fiecho $i

done

==> 執行,輸出01

3

三、shell中的函式

步驟:

1、將包含函式的檔案載入到shell中

. out.main 或./ out.main

# file out.main content

output_info()

2、檢查載入是否成功 set | grep output_info

3、使用檔案中已經定義的函式

output_info 只需給出函式名即可,不需a(),否則報錯

輸出=>output information

4、刪除函式 unset output_info

備註:如需重新使用a,需重複步驟1

Shell 指令碼程式設計

1 執行shell的方法 指定shell bin sh 由sh執行指令碼 指令碼總是由sh解釋 顯示呼叫shell sh scriptname 在當前shell中執行指令碼 profile profile是可執行的 ksh profile profile是不可執行的 改變當前的執行環境責應輸入.pr...

Shell 指令碼程式設計

a file 如果 file 存在則為真。b file 如果 file 存在且是乙個塊特殊檔案則為真。c file 如果 file 存在且是乙個字特殊檔案則為真。d file 如果 file 存在且是乙個目錄則為真。e file 如果 file 存在則為真。f file 如果 file 存在且是乙個...

shell指令碼程式設計

今天看看shell程式設計,記錄下期中與想象中不一樣的地方 0.注釋用 1.shell的變數賦值 your name zhm 在your name和等號中間不能有空格,這和別的語言很不一樣,那麼在使用變數時和別的語言也不一樣,要使用 your name,一般要用 一定是大括號 2.那麼如何把乙個變數...