-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathshell_man.c
157 lines (155 loc) · 4.84 KB
/
shell_man.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
/*
* This is an extension of the shell which stores the definitions for the man
* commmand.
*
* Authors: John Jones and Russell Toris
* Version: April 1, 2010
*/
#include "shell_list.h"
/*
* Prints a manual for the command 'cmd' if one exists.
*/
void print_man(char *cmd)
{
//find the command
if(strcmp(cmd, "clear\0") == 0) {
dino_print("\n Clear Screen Manual\0");
dino_print("\n\0");
dino_print("\nUSE:\0");
dino_print("\n\0");
dino_print("\n > clear\0");
dino_print("\n\0");
dino_print("\nDESCRIPTION:\0");
dino_print("\n\0");
dino_print("\n - This command will clear all information\0");
dino_print(" in the shell.\0");
} else if(strcmp(cmd, "delete\0") == 0) {
dino_print("\n Delete Manual\0");
dino_print("\n\0");
dino_print("\nUSE:\0");
dino_print("\n\0");
dino_print("\n > delete <file_name>\0");
dino_print("\n\0");
dino_print("\nDESCRIPTION:\0");
dino_print("\n\0");
dino_print("\n - This command will delete the file with \0");
dino_print("file name 'file_name'.\0");
} else if(strcmp(cmd, "dir\0") == 0) {
dino_print("\n Directory Manual\0");
dino_print("\n\0");
dino_print("\nUSE:\0");
dino_print("\n\0");
dino_print("\n > dir\0");
dino_print("\n\0");
dino_print("\nDESCRIPTION:\0");
dino_print("\n\0");
dino_print("\n - This command will print a list of all \0");
dino_print("files on the disk and their size.\0");
} else if(strcmp(cmd, "echo\0") == 0) {
dino_print("\n Echo Manual\0");
dino_print("\n\0");
dino_print("\nUSE:\0");
dino_print("\n\0");
dino_print("\n > echo <string>\0");
dino_print("\n\0");
dino_print("\nDESCRIPTION:\0");
dino_print("\n\0");
dino_print("\n - This command will print out <string> to \0");
dino_print("the shell.\0");
} else if(strcmp(cmd, "execute\0") == 0) {
dino_print("\n Execute Manual\0");
dino_print("\n\0");
dino_print("\nUSE:\0");
dino_print("\n\0");
dino_print("\n > execute <prgm_name>\0");
dino_print("\n\0");
dino_print("\nDESCRIPTION:\0");
dino_print("\n\0");
dino_print("\n - This command will attempt to execute the \0");
dino_print("program or shell script with the\n\0");
dino_print("file name 'prgm_name'.\0");
} else if(strcmp(cmd, "help\0") == 0) {
dino_print("\n Help Manual\0");
dino_print("\n\0");
dino_print("\nUSE:\0");
dino_print("\n\0");
dino_print("\n > help\0");
dino_print("\n\0");
dino_print("\nDESCRIPTION:\0");
dino_print("\n\0");
dino_print("\n - This command will print a list of all\0");
dino_print(" valid shell commands.\0");
} else if(strcmp(cmd, "kill\0") == 0) {
dino_print("\n Kill Manual\0");
dino_print("\n\0");
dino_print("\nUSE:\0");
dino_print("\n\0");
dino_print("\n > kill <segment>\0");
dino_print("\n\0");
dino_print("\nDESCRIPTION:\0");
dino_print("\n\0");
dino_print("\n - This command will kill the process with the\0");
dino_print(" given segment number.\0");
} else if(strcmp(cmd, "logout\0") == 0) {
dino_print("\n Logout Manual\0");
dino_print("\n\0");
dino_print("\nUSE:\0");
dino_print("\n\0");
dino_print("\n > logout\0");
dino_print("\n\0");
dino_print("\nDESCRIPTION:\0");
dino_print("\n\0");
dino_print("\n - This command will log you out of the current\0");
dino_print(" shell session.\0");
} else if(strcmp(cmd, "man\0") == 0) {
dino_print("\n Manual Manual\0");
dino_print("\n\0");
dino_print("\nUSE:\0");
dino_print("\n\0");
dino_print("\n > man <cmd_name>\0");
dino_print("\n\0");
dino_print("\nDESCRIPTION:\0");
dino_print("\n\0");
dino_print("\n - This command will display the manual for\0");
dino_print(" the command with name 'cmd_name'.\0");
} else if(strcmp(cmd, "ps\0") == 0) {
dino_print("\n Process List Manual\0");
dino_print("\n\0");
dino_print("\nUSE:\0");
dino_print("\n\0");
dino_print("\n > ps\0");
dino_print("\n\0");
dino_print("\nDESCRIPTION:\0");
dino_print("\n\0");
dino_print("\n - This command will print a list of all \0");
dino_print("running processes.\0");
} else if(strcmp(cmd, "symlink\0") == 0) {
dino_print("\n Symbolic Link Manual\0");
dino_print("\n\0");
dino_print("\nUSE:\0");
dino_print("\n\0");
dino_print("\n > symlink <src> <dest>\0");
dino_print("\n\0");
dino_print("\nDESCRIPTION:\0");
dino_print("\n\0");
dino_print("\n - This command will create a symbolic link from <src> \0");
dino_print("to <dest>.\0");
} else if(strcmp(cmd, "type\0") == 0) {
dino_print("\n Type Manual\0");
dino_print("\n\0");
dino_print("\nUSE:\0");
dino_print("\n\0");
dino_print("\n > type <file_name>\0");
dino_print("\n\0");
dino_print("\nDESCRIPTION:\0");
dino_print("\n\0");
dino_print("\n - This command will print the contents of \0");
dino_print("file with file name 'file_name'.\0");
} else {
//go to the next line
dino_print("\n\0");
//command not found
dino_print(cmd);
dino_print(": command not found. Type 'help' for a list.\0");
}
}