Shell編程概述(1)

來源:互聯網
上載者:User

1.1 Shell編程概述

shell程式是一個包含UNIX命令的普通檔案,這個檔案的許可許可權至少應該為可讀和可執行。在shell提示符下鍵入檔案名稱就可執行shell程式,資料可以通過三種方式傳送到shell程式

-環境變數

-命令列參數

-使用者的輸入


shell是一個命令直譯器,它會解釋你在命令提示字元下輸入的命令。但是,你可能有一組想要多次執行的命令。shell提供了一種功能,讓你將這組命令存放在一個檔案中,然後你可以象unix系統提供的其他程式一樣執行這個檔案。這個命令檔案就叫做shell程式或者shell指令碼。當你運行這個檔案,它會象你在命令列輸入這些命令一樣地執行這些命令。

為了讓shell讀取你的shell程式並且執行,shell必須能夠讀取並能夠執行每一行命令。因此,shell指令碼的許可許可權必須被設定為可讀和可執行。為了讓shell可以找到你的程式,你可以選擇輸入完全路徑名,或者將這個指令碼的路徑放在於你的PATH環境變數指定的路徑列表中。許多的使用者會在他們的HOME目錄下建立一個bin目錄來存放他們自己開發的script,然後將$HOME/bin加入到他們的PATH環境變數中。

你可以寫出非常複雜的shell指令碼,因為shell支援變數,命令列參數,互動式輸入,tests判斷)),branches分支),和loops迴圈)。

1.2 shell程式舉例

$ cat myprog

#this is the program myprog

date

ls –F

$ myprog

要建立一個shell程式,考慮進行以下步驟:

$ vi myprog 一個包含shell命令的程式。

#this is the program myprog

date

ls –F

$ chmod +x myprog 增加檔案的執行模式

$ myprog

Thu Jul 11 11:10 EDT 1994

F1 f2 memo/ myprog*

首先使用一個文字編輯器來建立一個shell程式myprog。在程式執行之前,這個檔案必須被賦予可執行檔許可權。然後在命令提示字元下輸入這個程式名。如上例所示,當myprog執行的時候,一個子shell會被建立。這個子shell會從shell程式檔案myprog讀取輸入而不是從命令列。這個shell中的每個命令的執行都會建立一個子shell。一旦所有的命令都被執行,所有的子shell會中止,然後會返回到原始的父shell。

Shell程式中的注釋:

推薦在shell程式中提供備註陳述式來註明程式的內容。注釋由一個#符號開始。Shell不會去執行任何在#之後的語句。#能夠出現在命令列的任何位置。

注意:你不可以給shell程式取名為test因為test是一個內部的shell命令。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.