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

📄 ysh.h

📁 大学操作系统课程实验:Linux下实现的一个shell解释器。能够比较完整完好地执行Linux下的普通命令、重定向命令、管道命令等多种命令。
💻 H
字号:
#define HISNUM 11
#define BUFSIZE 200
#define NO_PIPE -1#define FD_READ 0#define FD_WRITE 1
typedef struct ENV_HISTORY
{
	int start;
	int end;
	char his_cmd[HISNUM][100];
}ENV_HISTORY;

typedef struct NODE
{
	pid_t pid;
	char cmd[100];
	char state[10];
	struct NODE *link;	
}NODE;

char *envpath[10],buf[BUFSIZE],*input=NULL;
pid_t pid1=0;
int sig_flag=0,sig_z=0;
ENV_HISTORY envhis;
NODE *head,*end;

/*声明程序中用到的函数*/
void initEnviron();							//初始化环境变量 
int redirect(char *,int);						//重定向命令的处理
int pipel(char *,int);							//管道命令的处理 
int getLine(int,char *);						//读取一行 
int isFounded(char *);							//查找命令 
void setFlag();								//将标志位置1 

void getEnviron(int,char *);						//初始化查找路径 
void addHistory(char *);						//记录history命令 
void addNode(char *,int);						//向jobs命令的链表中增加节点 
void delNode(int,siginfo_t *);						//从jobs命令的链表中删除节点 

void history_cmd();							//显示history命令 
void cd_cmd(char *);							//处理cd命令 
void jobs_cmd();							//处理jobs命令 
void bg_cmd(int);							//处理bg命令
void fg_cmd(int);							//处理fg命令 
void ctrl_z_cmd();							//处理用户按下ctrl+z命令 

⌨️ 快捷键说明

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