歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

Linux 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