仿写bash程序
- 1、输出一些提示符信息:[stu@host Desktop]$
- 2、等待用户输入命令
- 3、完成简单的解析 (对命令进行简单分析:没有输入命令 内置命令(cd exit)外置ls)
外置ls:
子进程通过exec替换成用户输入的命令对应的程序
父进程等待命令执行结束–》前台执行
父进程继续输出提示信息,接收用户输入新命令–》后台执行
上代码
1 |
|
测试
建立一个空目录mybin,存放自己的命令实现。然后在处理外部命令那块把路径换成mybin文件的目录
首先实现pwd命令
1 |
|
myls实现
- ls 默认显示当前工作路径下的文件
- ls 路径 显示指定路径下的文件
1 | ls -a |
1 |
|
mysu
mybash->su->mybash
1 |
|
在使用的时候,将su的权限修改,在root下使用
1 | chown root su |
然后就可以执行su了