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

實驗:Shell實踐與設計

1. 實驗目

  的理解shell程序的功能。

  學會shell的使用。

  建造一個簡單的shell。

  2. 實驗內容

  基本任務:編寫一個簡單的shell程序,實現以下基本的命令。

  1) 浏覽目錄和文件的各種屬性 ls -l?

  2) 回顯 echo、

  3) 顯示文件內容 cat、more、

  4) 創建目錄mkdir、

  5) 刪除目錄rmdir、

  6) 刪除文件rm、

  7) 改變目錄cd 、

  8) 改變文件和目錄的權限chmod、

  9) 顯示當前目錄 pwd、

  10) 文字統計 wc、

  11) 查看時間命令 date 、time、

  12) 退出命令exit、

  13) 幫助命令 help、

  14) 發送信號命令 kill、

  15) 查看在線用戶 who、

  16) 查看命令歷史記錄 history、

  17) 查看系統的信息 systeminfo

  18) 執行用戶的程序

  選做任務

  提供友好的人機界面;
  Advanced shell功能,例如:
  1) 輸入輸出重定向,例如 ./a.out > output.dat
  2) 支持多管道命令,例如 ./a.out -a | ./b.out | ./c.out
  3) 支持後台運行命令,例如 ls | wc &
  4) 其他:參考GNU bash提供的功能。

  參考程序:

  課本的示例Program 1.5 和 Program 8.8
  GNU bash. 源代碼見bash-2.05b.tar.gz,文檔見bash-doc-2.05b.tar.gz。

  3. 實驗要求

  獨立完成實驗內容
  良好的編程風格

  注意事項
  禁止使用system函數直接調用系統shell提供的命令。

  對於執行指定的程序,使用fork函數生成一個新進程執行。

  必須有exit命令:用來退出shell。

  必須有help命令:列出shell所擁有的所有命令。

  當前目錄下放一個hello程序(功能:打印"hello world")。

  實驗提交

  1) 程序源代碼、可執行文件、makefile和readme都放在目錄 /home/apue/apue×××/lab2/下,×××表示用戶的編號。請嚴格按照上述目錄位置存放,否則後果自負。

  2) 程序命名:  mysh , 提交前請編譯好且可執行。

  3) readme文件為實驗報告:說明程序設計文檔、用戶手冊。

  4. 評分標准

  A——選做內容/必做內容功能完善,編程風格好,人機接口界面好;
  B——必做內容功能完善,完成部分選做內容,編程風格好,人機接口界面良好;
  C——完成必做內容,編程風格良好;
  D——能完成必做內容;
  E——未按時完成必做內容,或者抄襲(雷同者全部為E).

 

Copyright © Linux教程網 All Rights Reserved