天天看點

shell程式設計入門步步高(三、shell的基本結構)

shell程式的基本組成結構

shell結構大體是由設定變量、内置指令、shell的文法結構、函數組成。

使用執行個體說明:test.sh

#!/bin/bash

#說明使用/bin/bash作為這個腳本的解釋器

#定義一個函數

function my_fun () {

echo "Hello, $1,today is $2"

}

#定義連個變量

name=$1

today=`date`

#函數調用

my_fun "$name" "$today"

上面的這個腳本要想運作還需要做一些操作,首先給予執行權限

chmod +x test.sh

然後執行

./test.sh john

輸出

Hello, john,today is Tue Jun  1 14:51:46 CST 2010

父shell和子shell

在執行script之前,身處的環境就是父shell。執行script之時,父shell根據#!/bin/bash,fork出來一個新的shell環境,然後在子shell中執行,執行完畢後子shell結束,任然回到父shell中,這樣不會影響到父shell的環境。

login shell 和non-login shell

這張圖檔是login shell的流程,當是non-login shell時,隻執行方框中的标注的部分。由這張圖我們可以知道,在如下幾種情況下,執行的流程。

登陸(login)

/etc/profile

~/.bash_profile

登出(logout)

~/.bash_logout

執行新shell,分成兩種情況

1.執行互動式的shell

~/.bashrc

/etc/bashrc

2.執行非互動式的shell,比如執行script

會檢查 BASH_ENV 變量的内容,如果有定義,則執行

本文轉自 justiceplus 51CTO部落格,原文連結:http://blog.51cto.com/johnwang/324784,如需轉載請自行聯系原作者