歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> Linux shell編程

Linux shell編程

日期:2017/3/1 10:01:40   编辑:SHELL編程

1.什麼是shell

2. 還是hello world程序

3. shell中的變量

3.1 系統變量

3.2 用戶定義變量

3.2.1 用戶定義變量規則

3.2.3 shell如何使用變量

3.2.3 全局變量 vs 局部變量

4. shell編程中的控制結構

4.1 條件判定

4.1.1 簡單條件判定

4.1.2 組合判定

4.2 if - else

4.3 for

4.4 while

4.5 case

5. shell中的函數

5.1 函數聲明和定義

5.2 函數調用

6. shell腳本調試

6.1 萬能的echo

6.2 兩個命令

7. 參考資料及shell腳本下載

<1>. 什麼是shell

shell扮演者操作系統內核和用戶的中間人的角色,用戶通過鍵入shell command,然後shell通過解析用戶輸入,然後將請求轉發給操作系統的內核進行處理。

1. 一個系統可以存在多個shell,可以通過cat /etc/shells命令查看系統中安裝的shell,不同的shell可能支持的命令語法是不相同的。 2. 可以通過echo $SHELL查看當前使用的shell

<2>. 還是hello world程序

首先使用vim編輯器(或者是linux下任意的文本編輯器)編寫文件helloshell.sh(沒有必要使用.sh後綴名):

#!/bin/bash

echo "hello shell";

保存上面的文件,增加該文件的執行權限:

xuqiang@Ubuntu:~/shell$ sudo chmod +x ./helloshell.sh

運行該shell程序:

xuqiang@ubuntu:~/shell$ ./helloshell.sh

hello shell

通過上面的程序沒有什麼實際的含義,但是通過第一個shell程序了解shell程序的執行過程。

<3>. shell中的變量

3.1 系統變量

linnux下的shell腳本中的變量分為“系統變量”和“用戶自定義變量”,可以通過set命令查看那系統變量。

xuqiang@ubuntu:~/shell$ set

... 略去內容

xuqiang@ubuntu:~/shell$ echo $HOME /home/xuqiang

3.2 用戶定義變量

shell中用戶可以自定義變量,shell中的變量是沒有數據類型的,shell將根據當前的環境自動進行轉化,例如:

msg="hello world"

上面的語句定義變量msg,並設置初始值是為hello world。

Tip 1. 需要注意的是定義變量時,=兩邊是沒有空格的

3.2.1 用戶定義變量規則

變量必須是以字母開頭,後跟字母或者是下劃線,變量的命名是大小寫敏感的,並且可以定義一個變量的值為NULL。

xuqiang@ubuntu:~/shell$ vech= xuqiang@ubuntu:~/shell$ echo $vec

3.2.2 shell中如何使用變量

如果想要得到shell變量中存儲的值的話,需要在變量名前增加$符號,例如:

xuqiang@ubuntu:~/shell$ vech="value" xuqiang@ubuntu:~/shell$ echo $vech # this will print the value of vech value xuqiang@ubuntu:~/shell$ echo vech # this will print the string "vech" vech

3.2.3 全局變量 vs 局部變量

默認在shell中編寫的變量全部是局部變量,如果重新打開console的話,那麼這些變量將全部丟失,全局的變量可以寫在文件~/.bashrc文件。

Copyright © Linux教程網 All Rights Reserved