Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2734 → Rev 2735

/programs/system/shell/Docs_rus.txt
1,15 → 1,16
Shell 0.5 // 23.03.2012 // Albom
Êîíñîëüíûå ïðèëîæåíèÿ Shell
=======================================
* Äîáàâëåíà ïîääåðæêà êîíñîëüíûõ ïðèëîæåíèé, êîòîðûå îáùàþòñÿ ñ øåëëîì ÷åðåç èìåíîâàííóþ îáëàñòü
 
Îáìåí èíôîðìàöèåé ìåæäó Shell è êîíñîëüíûìè ïðèëîæåíèÿìè îñóùåñòâëÿåòñÿ ÷åðåç èìåíîâàííóþ îáëàñòü.
 
Êîíñîëüíîå ïðèëîæåíèå ìîæåò áûòü íàïèñàíî íà ëþáîì ÿçûêå ïðîãðàììèðîâàíèÿ - ýòî îáûêíîâåííàÿ ïðîãðàììà äëÿ ÊîëèáðèÎÑ.
 
1) Êîíñîëüíîå ïðèëîæåíèå ïîñëå ñâîåãî çàïóñêà  ÏÅÐÂÓÞ Î×ÅÐÅÄÜ äîëæíî ñîçäàòü èìåíîâàííóþ îáëàñòü ñ èìåíåì pid-SHELL, ãäå pid - èäåíòèôèêàòîð ïðîöåññà ñ çàãëàâíûìè íóëÿìè,
íàïðèìåð: 42 -> 0042 (ò.å. ñåé÷àñ îãðàíè÷åíèå äî 9999).
+ íóæíî ñäåëàòü, ÷òîáû ïðîãðàììà êîððåêòíî çàâåðøàëàñü, åñëè çàïóùåíà íå èç øåëëà (ÑÅÉ×ÀÑ ÍÅ ÐÅÀËÈÇÎÂÀÍÎ!!!)
Êîíñîëüíîå ïðèëîæåíèå ïîñëå ñâîåãî çàïóñêà â ïåðâóþ î÷åðåäü äîëæíî ñîçäàòü èìåíîâàííóþ îáëàñòü ñ èìåíåì pid-SHELL, ãäå pid - èäåíòèôèêàòîð ïðîöåññà áåç çàãëàâíûõ íóëåé,
íàïðèìåð: 6, 42 èëè 204.
 
2) Ïåðâûé áàéò îáëàñòè - êîìàíäà (ò.å. ìàêñèìóì 255 êîìàíä), äàëåå - äàííûå (ìîãóò îòñóòñòâîâàòü).
Ñïèñîê êîìàíä äëÿ âåðñèè 0.5:
Ïåðâûé áàéò îáëàñòè - êîìàíäà (ò.å. ìàêñèìóì 255 êîìàíä, ÷òî âïîëíå äîñòàòî÷íî), äàëåå - äàííûå (ìîãóò îòñóòñòâîâàòü).
 
Ñïèñîê ðåàëèçîâàííûõ êîìàíä:
SC_OK 0 íè÷åãî íå äåëàòü
SC_EXIT 1 âûõîä
SC_PUTC 2 âûâåñòè íà ýêðàí ñèìâîë
18,6 → 19,6
SC_GETS 5 ñ÷èòàòü ñ êëàâèàòóðû ñòðîêó
SC_CLS 6 î÷èñòèòü ýêðàí
 
3) Ïðîãðàììà äîëæíà ÑÀÌÀ çàáîòèòüñÿ î ðàöèîíàëüíîì èñïîëüçîâàíèè ïðîöåññîðíîãî âðåìåíè.
Ïðîãðàììà äîëæíà ñàìà çàáîòèòüñÿ î ðàöèîíàëüíîì èñïîëüçîâàíèè ïðîöåññîðíîãî âðåìåíè.
 
4) Ïðîãðàììà äîëæíà ÑÀÌÀ çàáîòèòüñÿ î çàêðûòèè èìåíîâàííîé îáëàñòè.
Ïðîãðàììà äîëæíà ñàìà çàáîòèòüñÿ î çàêðûòèè èìåíîâàííîé îáëàñòè.
/programs/system/shell/History.txt
1,3 → 1,15
Shell 0.5.4 // 04.06.2012 // Albom
=======================================
* Èñïðàâëåí èíòåðôåéñ èñïîëíÿåìûõ êîíñîëüíûõ ïðèëîæåíèé. Òåïåðü îíè äîëæíû ñîçäàâàòü áóôåð ñ èìåíåì pid-SHELL, ãäå pid - èäåíòèôèêàòîð ïðîöåññà áåç çàãëàâíûõ íóëåé
* Ðåèíêàðíèðîâàíû êîìàíäû ccpuid, free, killall
+ Äîáàâëåíà êîìàíäà history
 
 
Shell 0.5.3 // 19.04.2012 // Albom
=======================================
* Èñïðàâëåíèå â êîìàíäå pwd
 
 
Shell 0.5.2 // 16.04.2012 // Albom
=======================================
* Èñïðàâëåíèå â êîìàíäå ls
/programs/system/shell/all.h
28,7 → 28,7
#include "cmd/cmd_date.c"
#include "cmd/cmd_exit.c"
#include "cmd/cmd_cd.c"
#include "cmd/cmd_memory.c"
#include "cmd/cmd_free.c"
#include "cmd/cmd_reboot.c"
#include "cmd/cmd_mkdir.c"
#include "cmd/cmd_rmdir.c"
42,6 → 42,7
#include "cmd/cmd_shutdown.c"
#include "cmd/cmd_uptime.c"
#include "cmd/cmd_killall.c"
#include "cmd/cmd_history.c"
 
#include "modules/module_command.c"
#include "modules/module_program_console.c"
/programs/system/shell/cmd/cmd_free.c
1,5 → 1,5
 
int cmd_free(char param[])
int cmd_memory(char param[])
{
unsigned total, free, used;
 
7,7 → 7,11
free = kol_system_memfree();
used = total - free;
 
printf (" total [kB / MB / %%]: %-7d / %-5d / 100\n\r free [kB / MB / %%]: %-7d / %-5d / %d\n\r used [kB / MB / %%]: %-7d / %-5d / %d\n\r",
#if LANG_ENG
printf (" Total [kB / MB / %%]: %-7d / %-5d / 100\n\r Free [kB / MB / %%]: %-7d / %-5d / %d\n\r Used [kB / MB / %%]: %-7d / %-5d / %d\n\r",
#elif LANG_RUS
printf (" ‚ᥣ® [Š / Œ / %%]: %-7d / %-5d / 100\n\r ‘¢®¡®¤­® [Š / Œ / %%]: %-7d / %-5d / %d\n\r ˆá¯®«ì§ã¥âáï [Š / Œ / %%]: %-7d / %-5d / %d\n\r",
#endif
total, total/1024, free, free/1024, (free*100)/total, used, total/1024-free/1024, 100-(free*100)/total );
return TRUE;
/programs/system/shell/cmd/cmd_history.c
0,0 → 1,13
 
int cmd_history(char arg[])
{
 
int i;
 
for (i = 0; i < CMD_HISTORY_NUM_REAL; i++)
{
printf("%s\n", CMD_HISTORY[i]);
}
 
return TRUE;
}
/programs/system/shell/globals.h
1,5 → 1,5
 
#define SHELL_VERSION "0.5.3"
#define SHELL_VERSION "0.5.4"
 
extern char PATH[256];
extern char PARAM[256];
19,6 → 19,7
char CMD[256];
char CMD_HISTORY[CMD_HISTORY_NUM][256];
char CMD_NUM;
char CMD_HISTORY_NUM_REAL = 0;
 
unsigned CMD_POS;
 
66,6 → 67,7
int cmd_shutdown(char arg[]);
int cmd_uptime(char param[]);
int cmd_killall(char process_name[]);
int cmd_history(char arg[]);
 
/// ===========================================================
 
/programs/system/shell/locale/eng/globals.h
1,3 → 1,4
 
const command_t COMMANDS[]=
{
{"about", " Displays information about Shell\n\r", &cmd_about},
8,8 → 9,9
{"date", " Returns the current date and time\n\r", &cmd_date},
{"echo", " Echoes the data to the screen. Usage:\n\r echo <data>\n\r", &cmd_echo},
{"exit", " Exits from Shell\n\r", &cmd_exit},
{"memory", " Displays total, free and used memory\n\r", &cmd_memory},
{"free", " Displays total, free and used memory\n\r", &cmd_memory},
{"help", " Gives help on commands. Usage:\n\r help ;it lists all builtins\n\r help <command> ;help on command\n\r", &cmd_help},
{"history", " Lists used commands\n\r", &cmd_history},
{"kill", " Stops a running process. Usage:\n\r kill <PID of process>\n\r", &cmd_kill},
{"killall", " Kills all running processes\n\r", &cmd_killall},
{"ls", " Lists the files in a directory. Usage:\n\r ls ;lists the files in current directory\n\r ls <directory> ;lists the files at specified folder\n\r", &cmd_ls},
20,9 → 22,9
{"reboot", " Reboots the computer or KolibriOS kernel. Usage:\n\r reboot ;reboot a PC\n\r reboot kernel ;reboot the KolibriOS kernel\n\r", &cmd_reboot},
{"rm", " Removes a file. Usage:\n\r rm file name>\n\r", &cmd_rm},
{"rmdir", " Removes a folder. Usage:\n\r rmdir <directory>\n\r", &cmd_rmdir},
{"shutdown"," Turns off the computer\n\r", &cmd_shutdown},
{"sleep", " Stops the shell for the desired period. Usage:\n\r sleep <time in the 1/100 of second>\n\r Example:\n\r sleep 500 ;pause for 5sec.\n\r", &cmd_sleep},
{"shutdown"," Turns off the computer\n\r", &cmd_shutdown},
{"touch", " Creates an empty file or updates the time/date stamp on a file. Usage:\n\r touch <file name>\n\r", &cmd_touch},
{"uptime", " Displays the uptime\n\r", &cmd_uptime},
{"ver", " Displays version. Usage:\n\r ver ;Shell version\n\r ver kernel ;version of KolibriOS kernel\n\r", &cmd_ver},
};
};
/programs/system/shell/locale/rus/globals.h
1,17 → 1,19
 
const command_t COMMANDS[]=
{
{"about", " ‚뢮¤¨â ¨­ä®à¬ æ¨î ® ¯à®£à ¬¬¥ Shell\n\r", &cmd_about},
{"alias", " ®ª §ë¢ ¥â ¨ ¯®§¢®«ï¥â ¨§¬¥­¨âì ᯨ᮪ ᨭ®­¨¬®¢ ª®¬ ­¤\n\r", &cmd_alias},
// {"ccpuid", " ‚뢮¤¨â ¨­ä®à¬ æ¨î ® CPU\n\r", &cmd_ccpuid},
{"ccpuid", " ‚뢮¤¨â ¨­ä®à¬ æ¨î ® CPU\n\r", &cmd_ccpuid},
{"cd", " ˆ§¬¥­ï¥â ⥪ãéãî ¤¥à¨ªâ®à¨î. ˆá¯®«ì§®¢ ­¨¥:\n\r cd <¤¨à¥ªâ®à¨ï>\n\r", &cmd_cd},
{"clear", " Žç¨é ¥â íªà ­\n\r", &cmd_clear},
{"date", " ®ª §ë¢ ¥â ⥪ãéãî ¤ âã ¨ ¢à¥¬ï\n\r", &cmd_date},
{"echo", " ‚뢮¤¨â ¤ ­­ë¥ ­  íªà ­. ˆá¯®«ì§®¢ ­¨¥:\n\r echo <¤ ­­ë¥>\n\r", &cmd_echo},
{"exit", " ‡ ¢¥à襭¨¥ à ¡®âë Shell\n\r", &cmd_exit},
{"memory", " ®ª §ë¢ ¥â ®¡êñ¬ ¯ ¬ïâ¨: ¢á¥©, ᢮¡®¤­®© ¨ ¨á¯®«ì§ã¥¬®©\n\r", &cmd_memory},
{"free", " ®ª §ë¢ ¥â ®¡êñ¬ ®¯¥à â¨¢­®© ¯ ¬ïâ¨: ¢á¥©, ᢮¡®¤­®© ¨ ¨á¯®«ì§ã¥¬®©\n\r", &cmd_memory},
{"help", " ‘¯à ¢ª  ¯® ª®¬ ­¤ ¬. ˆá¯®«ì§®¢ ­¨¥:\n\r help ;ᯨ᮪ ¢á¥å ª®¬ ­¤\n\r help <ª®¬ ­¤ > ;á¯à ¢ª  ¯® ª®¬ ­¤¥\n\r", &cmd_help},
{"history", " ‘¯¨á®ª ¨á¯®«ì§®¢ ­­ëå ª®¬ ­¤\n\r", &cmd_history},
{"kill", " “¡¨¢ ¥â ¯à®æ¥áá. ˆá¯®«ì§®¢ ­¨¥:\n\r kill <PID ¯à®æ¥áá >\n\r", &cmd_kill},
// {"killall", " “¡¨¢ ¥â ¢á¥ § ¯ã饭­ë¥ ¯à®æ¥ááë\n\r", &cmd_killall},
{"killall", " “¡¨¢ ¥â ¢á¥ § ¯ã饭­ë¥ ¯à®æ¥ááë\n\r", &cmd_killall},
{"ls", " ‚뢮¤¨â ᯨ᮪ ä ©«®¢. ˆá¯®«ì§®¢ ­¨¥:\n\r ls ;ᯨ᮪ ä ©«®¢ ¢ ⥪ã饬 ª â «®£¥\n\r ls <¤¨à¥ªâ®à¨ï> ;ᯨ᮪ ä ©«®¢ ¨§ § ¤ ­­®© ¤¨à¥ªâ®à¨¨\n\r", &cmd_ls},
{"mkdir", " ‘®§¤ ¥â ª â «®£. ˆá¯®«ì§®¢ ­¨¥:\n\r mkdir <¨¬ï ¯ ¯ª¨> ;ᮧ¤ âì ¯ ¯ªã ¢ ⥪ã饬 ª â «®£¥\n\r mkdir <¯ãâì><¨¬ï ¯ ¯ª¨> ;ᮧ¤ âì ¯ ¯ªã ¯® 㪠§ ­­®¬ã ¯ãâ¨\n\r", &cmd_mkdir},
{"more", " ‚뢮¤¨â ᮤ¥à¦¨¬®¥ ä ©«  ­  íªà ­. ˆá¯®«ì§®¢ ­¨¥:\n\r more <¨¬ï ä ©« >\n\r", &cmd_more},
20,8 → 22,8
{"reboot", " ¥à¥§ £à㦠¥â ª®¬¯ìîâ¥à ¨«¨ ï¤à® KolibriOS. ˆá¯®«ì§®¢ ­¨¥:\n\r reboot ;¯¥à¥§ £à㧨âì Š\n\r reboot kernel ;¯¥à¥§ ¯ãáâ¨âì ï¤à® Kolibri\n\r", &cmd_reboot},
{"rm", " “¤ «ï¥â ä ©«. ˆá¯®«ì§®¢ ­¨¥:\n\r rm <¨¬ï ä ©« >\n\r", &cmd_rm},
{"rmdir", " “¤ «ï¥â ¯ ¯ªã. ˆá¯®«ì§®¢ ­¨¥:\n\r rmdir <¤¨à¥ªâ®à¨ï>\n\r", &cmd_rmdir},
{"shutdown"," ‚몫î砥⠪®¬¯ìîâ¥à\n\r", &cmd_shutdown},
{"sleep", " Žáâ ­ ¢«¨¢ ¥â à ¡®âã Shell'  ­  § ¤ ­­®¥ ¢à¥¬ï. ˆá¯®«ì§®¢ ­¨¥:\n\r sleep <¨­â¥à¢ « ¢ á®âëå ¤®«ï ᥪ㭤ë>\n\r à¨¬¥à:\n\r sleep 500 ;¯ ã§  ­  5 ᥪ.\n\r", &cmd_sleep},
{"shutdown"," ‚몫î砥⠪®¬¯ìîâ¥à\n\r", &cmd_shutdown},
{"touch", " ‘®§¤ ñâ ¯ãá⮩ ä ©« ¨«¨ ¨§¬¥­ï¥â ¤ âã/¢à¥¬ï ᮧ¤ ­¨ï ä ©« . ˆá¯®«ì§®¢ ­¨¥:\n\r touch <¨¬ï ä ©« >\n\r", &cmd_touch},
{"uptime", " ®ª §ë¢ ¥â uptime\n\r", &cmd_uptime},
{"ver", " ®ª §ë¢ ¥â ¢¥àá¨î. ˆá¯®«ì§®¢ ­¨¥:\n\r ver ;¢¥àá¨ï Shell\n\r ver kernel ;¢¥àá¨ï ¨ ­®¬¥à ॢ¨§¨¨ ï¤à  KolibriOS\n\r", &cmd_ver},
/programs/system/shell/modules/module_command.c
26,6 → 26,10
strcpy(CMD_HISTORY[1], CMD_HISTORY[0]);
 
strcpy(CMD_HISTORY[0], CMD);
if (CMD_HISTORY_NUM_REAL < CMD_HISTORY_NUM)
CMD_HISTORY_NUM_REAL++;
}
 
}
/programs/system/shell/modules/module_program_console.c
13,7 → 13,7
int size;
int is_end;
 
_itoa(pid, name);
itoa(pid, name);
strcat(name, "-SHELL");
 
buffer = NULL;
/programs/system/shell/system/string.c
138,3 → 138,35
s[4] = 0;
}
 
 
/* reverse: ïåðåâîðà÷èâàåì ñòðîêó s íà ìåñòå */
void reverse(char s[])
{
int i, j;
char c;
for (i = 0, j = strlen(s)-1; i<j; i++, j--) {
c = s[i];
s[i] = s[j];
s[j] = c;
}
}
 
 
/* itoa: êîíâåðòèðóåì n â ñèìâîëû â s */
void itoa(int n, char s[])
{
int i, sign;
if ((sign = n) < 0) /* çàïèñûâàåì çíàê */
n = -n; /* äåëàåì n ïîëîæèòåëüíûì ÷èñëîì */
i = 0;
do { /* ãåíåðèðóåì öèôðû â îáðàòíîì ïîðÿäêå */
s[i++] = n % 10 + '0'; /* áåðåì ñëåäóþùóþ öèôðó */
} while ((n /= 10) > 0); /* óäàëÿåì */
if (sign < 0)
s[i++] = '-';
s[i] = '\0';
reverse(s);
}
 
/programs/system/shell/system/string.h
14,3 → 14,5
int strlen(const char* string);
char *strchr(const char* string, int c);
void _itoa(int i, char *s);
void reverse(char *s);
void itoa(int i, char *s);
/programs/system/shell/test.c
23,7 → 23,7
PID = *(buf1k+30);
free(buf1k);
 
_itoa(PID, name); // ôîðìèðóåì èç íîìåðà ïðîöåññà ñòðîêó ñ çàãëàâíûìè íóëÿìè 42 -> 0042 (ò.å. äî 9999)
itoa(PID, name); // ôîðìèðóåì èç íîìåðà ïðîöåññà ñòðîêó ñ çàãëàâíûìè íóëÿìè 42 -> 0042 (ò.å. äî 9999)
strcat(name, "-SHELL");
 
*buffer = NULL;