No description, website, or topics provided.
C
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Makefile
README.md
builtin.c
controlflow.c
execute2.c
process.c
process2.c
script
shell
sleep
sleep.c
smsh.c
smsh.h
splitline.c
test
test.c
varlib.c
varlib.h

README.md

a-simple-shell

仅实现了

内部命令:

  1.  cd  <目录>
    

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

  1.  env
    

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

  1.  echo  <内容>
    

显示echo后的内容且换行。

  1.  help 
    

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

  1.  jobs
    

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

  1.  quit, exit, bye
    

退出shell。

  1.  Batch Processing   
    

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

  1.  Background Processing   
    

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

  1.  Debugging  
    

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

sleep.c 和 test.c script为测试文件

                                                                          参考《linux/unix编程实践教程》