vc6 远程linux,大家好,在VC6。0控制台程序中里能不能实现如同linux下的那些shell...

本文档描述了一个简单的Unix Shell的设计任务,旨在教授如何创建和管理进程。Shell支持内部命令如cd、environ、echo、help、jobs、quit等,并要求能处理背景进程、批处理文件执行、调试模式以及自定义命令提示符。在调试模式下,将显示进程PID和子进程信息。此外,还要求Shell能够执行外部命令并继承环境变量和参数。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

设计一:

设计任务:

实现一个简单的shell(命令行解释器),类似于bash, csh等。本设计的主要目的在于学会如何在Unix系统下创建进程和管理进程。

要求实现的shell支持以下内部命令:

1. cd

更改当前的工作目录到另一个。如果未指定,输出当前工作目录。如果不存在,要求有适当的错误信息提示。改命令应能够改变PWD的环境变量。

2. environ

列出所有环境变量字符串的设置(类似于Unix系统下的env命令)。

3. echo

显示echo后的内容且换行。

4. help

简短概要地输出你的shell的使用方法和基本功能。

5. jobs

输出shell当前的一系列子进程,要求提供子进程的命名和PID号。

6. quit, exit, bye

退出shell。

所有的内部命令应当优于在$PATH中同名的程序。

任何非内部命令必须请求shell创建一个新进程,且该子进程执行指定的程序。这个新进程必须继承shell的环境变量和指定的命令行参数。

要求实现的shell支持以下内部命令:

1. Batch Processing 如果shell启动带有一个文件名作为参数,打开该文件并执行文件里所有命令。待所有进程全部结束退出shell。

2. Debugging 提供-v选项,shell启动时打开此选项将在运行过程中输出若干调试信息。在该模式下,shell应该显示所有被创建了的进程的PID号,通报已结束的子进程和传递给子进程的参数等。

3. Prompt (命令行提示符) 解释器打印$PS2作为提示符。

4. Background Processing 如果命令以符合&终止,在后台并发执行该程序。Shell立即等待下一命令的输入,而不等待该程序的结束。

注:所有命令和参数由空格或tab符分隔。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值