學習目標
編寫Shell程序
執行Shell程序
正文
Shell程序有很多類似C語言和其他程序設計語言的特征,但是又沒有程序語言那樣復雜。Shell程序是指放在一個文件中的一系列Linux命令和實用程序。在執行的時候,通過Linux操作系統一個接一個地解釋和執行每條命令。首先,來編寫第一個Shell程序,從中學習Shell程序的編寫、修改權限、執行過程。
i、編輯Shell程序
編輯一個內容如下的源程序,保存文件名為date,可將其存放在目錄/home/study(練習專用目錄,不存在自己新建一個)下。
root@ubuntu:/home/study# vi dd
#! /bin/sh
echo "Mr.$USER,Today is:"
echo &date "+%B%d%A"
echo "Wish you a lucky day !"
注意:#! /bin/sh通知采用bash解釋。如果在echo語句中執行Shell命令date,則需要在date命令前加符號“&”,其中%B%d%A為輸入格式控制符。
ii、建立可執行程序
編輯完該文件之后不能立即執行該文件,需給文件設置可執行程序權限。使用如下命令。
root@ubuntu:/home/study# chmod +x dd
iii、執行Shell程序
執行Shell程序有下面三種方法:
方法一:
root@ubuntu:/home/study# ./dd
方法二:
另一種執行date的方法就是把它作為一個參數傳遞給Shell命令:
root@ubuntu:/home/study# bash dd
方法三:
為了在任何目錄都可以編譯和執行Shell所編寫的程序,即把/home/study的這個目錄添加到整個環境變量中。
root@ubuntu:/home/study# export PATH=/home/study:$PATH
root@ubuntu:/home/study# dd
實例:編寫一個Shell程序mkf,此程序的功能是:顯示root下的文件信息,然后建立一個kk的文件夾,在此文件夾下建立一個文件aa,修改此文件的權限為可執行。
分析:此Shell程序中需要依次執行下列命令為:
進入root目錄:cd /root
顯示root目錄下的文件信息:ls –l
新建文件夾kk: mkdir kk
進入root/kk目錄:cd kk
新建一個文件aa: vi aa #編輯完成后需手工保存
修改aa文件的權限為可執行:chmod +x aa
回到root目錄:cd /root
因此該Shell程序只是以上命令的順序集合,假定程序名為mkf
root@ubuntu:/home/study# vi mkf mkf文件添加如下內容: cd /root ls -l mkdir kk cd kk vi aa chmod +x aa cd /root root@ubuntu:/home/study# chmod +x mkf root@ubuntu:/home/study# export PATH=/home/study:$PATH root@ubuntu:/home/study# mkf