學習目標
編寫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# vimkfmkf檔案新增如下內容:
cd /root
ls -l
mkdir
kkcd kk
viaa
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
Linux 檔案屬性及修改許可權
輸入 ll 或 ls l 命令顯示當前目錄中檔案的屬性及檔案所屬的使用者和組 root user home www ll test total 880 drwxr xr x 2 root root 4096 jul 16 15 27 drwxrwxrwx 7 root root 4096 jul 1...
const變數的儲存區及修改許可權
const變數的儲存區及修改許可權 cpp view plain copy const inta 1 int p const cast int a p 2 cout value a a endl cout value p p endl cout address a a endl cout addre...
shell的簡單編寫及執行
sell指令碼 1.新建檔案 副檔名.sh 2.寫 3.給許可權,執行 x執行,絕對路徑,相對路徑 test.sh root test.sh vim a.sh bin bash 直譯器是誰 例 vima sh bin bash hello word echo hello word chmod x a...