⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shell.c

📁 操作系统中,读者写者的问题
💻 C
字号:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

main()
{
char str[30];
char temp[30];

char chk='n';
int i=0;
int j=0;
int k=0;
int cmp1[5]={3,3,3,3,2};
int cmp[5]={5,2,5,4,1};
char *win[5]={"dir","cop","era","dis","en"};
char *lin[5]={"ls -l","cp","rm -f","echo"," "};


printf("%s\n","Input command:");


do
{
fgets(str,30,stdin);
i=0;
j=0;

while(str[i]==' ')
i++; 
for(j=0;j<30;j++)
{
str[j]=str[i];
i++;
}
if(strncmp(str,"quit",4)==0)
break;
for(i=0;i<5;i++)
{
k=0;
if(!strncmp(str,win[i],cmp1[i]))
{
strcpy(temp,lin[i]);

for(j=cmp[i];j<30;j++)
{
temp[j]=str[cmp1[i]+k];
k++;
}

printf("%s",temp);
system(temp);
break;
}
if((k==0)&(i>3))
printf("%s\n","Bad command!");
}


for(i=0;i<30;i++)
{
str[i]='\0';
temp[i]='\0';
}
printf("%s\n","Input command:");


}while(1);
printf("%s\n","Thanks for using this program.Bye!");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -