这次我的课题,在linux系统下开发一个具备shell基本功能的程序(C语言),要求至少要实现内部的cd、cat和exit命令,其他命令可以用/bin /usr/bin中的系统命令实现。
假设程序的运行文件为myshell,则运行的结果应该为
#mysell
$ls
<<输出当前目录下的文件名>>
$cat a.txt
<<输出文件的内容>>
$cd /home<<内部记录用户改变当前目录为/home>>
$ls
<<输出当前目录(/home)中的文件名>>
$exit <<退出mysell>>
#
每个命令的执行应使用fork创建一个进程,并用exec系统调用执行该命令对应的可执行文件/内部命令。
疑问1:是不是要先写好C语言程序,然后再LINUX下用指令运行,然后在程序里面输入相应的指令?
疑问2:LINUX下C语言的程序那后缀肯定是.c吗?因为查到基本的SHELL用的后缀通常是.sh。
疑问3:之前做过类似的,不过没有编程,直接在终端输入cd,cat等指令不就能达到题目的要求了吗?为什么还要在设计一个SHELL程序?
感谢,不伸手,只希望弄懂一些基本的问题,最近也在补LINUX的一些基础知识。
假设程序的运行文件为myshell,则运行的结果应该为
#mysell
$ls
<<输出当前目录下的文件名>>
$cat a.txt
<<输出文件的内容>>
$cd /home<<内部记录用户改变当前目录为/home>>
$ls
<<输出当前目录(/home)中的文件名>>
$exit <<退出mysell>>
#
每个命令的执行应使用fork创建一个进程,并用exec系统调用执行该命令对应的可执行文件/内部命令。
疑问1:是不是要先写好C语言程序,然后再LINUX下用指令运行,然后在程序里面输入相应的指令?
疑问2:LINUX下C语言的程序那后缀肯定是.c吗?因为查到基本的SHELL用的后缀通常是.sh。
疑问3:之前做过类似的,不过没有编程,直接在终端输入cd,cat等指令不就能达到题目的要求了吗?为什么还要在设计一个SHELL程序?
感谢,不伸手,只希望弄懂一些基本的问题,最近也在补LINUX的一些基础知识。