/programs/system/shell/clean.bat |
---|
File deleted |
\ No newline at end of file |
/programs/system/shell/.shell |
---|
File deleted |
/programs/system/shell/compile.bat |
---|
File deleted |
\ No newline at end of file |
/programs/system/shell/History.txt |
---|
0,0 → 1,102 |
Shell 0.4.5 // 19.10.2010 // Pterox |
======================================= |
Ïðîãðàììà òåïåðü ìíîãîÿçûêîâàÿ (àíãëèéñêèé, è ðóññêèé ÿçûê). Ïðîãðàììà ïîëíîñòüþ ðóñèôèöèðîâàííà. |
* Êîìàíäà "free" ïåðèìåíîâàíà â "memory" - äëÿ òî÷íîñòè. |
* Äîáàâëåíû êîìàíäû turnoff (âûêëþ÷èòü êîìïüþòåð), kerver (âåðñèÿ ÿäðà KoOS), uptime; reboot òåïåðü ìîæåò ïåðåçàãðóæàòü ÿäðî ("reboot kernel") |
Shell 0.4.4 // 20.08.2010 // Albom |
======================================= |
1) øåëë êîððåêòíî çàâåðøàåòñÿ ïðè çàêðûòèè îêíà |
2) èñïðàâëåíî åù¸ 2 îøèáêè |
3) äîáàâëåíû 2 êîìàíäû: |
* sleep - æäàòü. ïàðàìåòð - âðåìÿ â ñîòûõ ÷àñòÿõ ñåêóíäû. òîëüêî öåëîå ÷èñëî. |
* ccpuid - âûâîä â êîíñîëü èíôîðìàöèè (ïîêà ñêóäíî) î ïðîöåññîðå. ïîëüçû ìàëî, íî äàâíî õîòåë ñ êîìàíäîé cpuid ðàçîáðàòüñÿ (â ñëåäóþùåì ñåìåñòðå áóäó ñòóäåíòàì êóðñ ÷èòàòü, âêëþ÷èë ðàçáîð êîìàíäû â ïðîãðàììó). |
åñòü ìíîãî èäåé. íåêîòîðûå ëåãêî ðåàëèçóþòñÿ, íåêîòîðûå ñëîæíåå. åñëè èíòåðåñíî: |
1) äîáàâèòü ïåðåìåííóþ (îäíó!), â êîòîðóþ áóäåò ðåçóëüòàò â òåêñòîâîé ôîðìå (íå òî ÷òî âîçâðàùàåò ô-öèÿ) çàïèñûâàòüñÿ. ñ íåé ìîæíî áóäåò ðàáîòàòü èç êîìàíäíîé ñòðîêè. |
2) âíåäðèòü ïðîñòóþ ñòåêîâóþ ìàøèíó äëÿ âû÷èñëåíèé ñ âåùåñòâåííûìè ÷èñëàìè. |
Shell 0.4.3 // 20.08.2010 // Albom |
======================================= |
* Ñìåñü âåðñèé 0.4.1 è 0.4.2. Òåïåðü â àðõèâå âñå èñõîäíûå ôàéëû, íåîáõîäèìûå äëÿ êîìïèëÿöèè (ðàíüøå èñïîëüçîâàëèñü îáúåêòíèêè ñ ìîèìè îá¸ðòêàìè, èñõîäíèêè ÿ ñ øåëëîì íå âûêëàäûâàë) |
Shell 0.4.2 // 28.08.2009 // diamond |
======================================= |
* Äîáàâèë êîððåêòíîå çàâåðøåíèå ðàáîòû ïðè çàêðûòèè îêíà êîíñîëè, ðàáîòàåò òîëüêî íà÷èíàÿ ñ ïîñëåäíåé íà äàííûé ìîìåíò âåðñèåé áèáëèîòåêè (ëåæèò íà svn, âêëþ÷åíà â íî÷íóþ ñáîðêó). Ïåðåêîìïèëèðîâàë â VS2008 ñ LTCG, åù¸ ïîøàìàíèë ñ îïòèìèçàöèåé ïî ðàçìåðó. |
Shell 0.4.1 // 16.03.2009 // Albom |
======================================= |
* âåðñèÿ ñ èñïðàâëåííûìè îøèáêàìè. |
* ðàáîòàåò êîìàíäà alias, äîáàâëåíà êîìàíäà clear. |
Shell 0.4 // 12.08.2008 // Albom |
======================================= |
1) Ðàáîòàåò ñõåìà ïñåâäîíèìîâ (äî 256 êîìàíä) |
- ïðîñìîòð ïî êîìàíäå alias (áåç ïàðàìåòðîâ) |
- äîáàâëåíèå ïñåâäîíèìà êîìàíäû ñ êëàâèàòóðû èëè â ñêðèïòå (â òîì ÷èñëå è .shell): alias íîâàÿ êîìàíäà = ñòàðàÿ êîìàíäà |
- êîìàíäû ðåãèñòðîçàâèñèìûå, ïîýòîìó ïîêëîííèêàì ÄÎÑ ïðèä¸òñÿ âíåñòè â .shell ñòðîêè òàêîãî âèäà |
alias dir = ls |
alias DIR = ls |
alias Dir = ls |
alias DIr = ls |
è ò.ä. |
- âñòðîåííûå êîìàíäû ïåðåíàçâàòü íåâîçìîæíî, íàïðèìåð, áåññìûñëåííà êîìàíäà: |
alias ls=somecommand |
- ïðè îòëàäêå ïîëó÷àë ñòðàííóþ èíôîðìàöèþ, íî òàê êàê ó ìåíÿ âñ¸ ðàáîòàåò, òî ïîêà èçìåíåíèé âíîñèòü íå ïëàíèðóþ |
2) Òåïåðü øåëë ìîæíî çàïóñêàòü ñ ïàðàìåòðîì (èç ñàìîãî ñåáÿ, íàïðèìåð). |
- ñèíòàêñèñ: |
shell êîìàíäà |
- ïðèìåð: |
shell /sys/somescript |
- ïðè ýòîì .shell íå çàïóñêàåòñÿ |
3) Ðåàëèçîâàíà êîìàíäà more. ( MEMENTO MORI! - Ìîìåíòàëüíî... â ìîðå! ) |
- ïðîñìîòð òåêñòîâûõ è áèíàðíûõ ôàéëîâ (âðîäå áû çàäà÷à ïðîñòàÿ, íî ïðèøëîñü ïîâîçèòüñÿ ñ óïðàâëÿþùèìè ñèìâîëàìè) |
- î÷åíü íå ðåêîìåíäóåòñÿ ïðîñìàòðèâàòü áîëüøèå ôàéëû |
Shell 0.3 // 07.08.2008 // Albom |
======================================= |
1) Âîçìîæíîñòü çàïóñêà ñêðèïòîâ. |
* êàæäàÿ ñòðîêà äîëæíà ïðåäñòàâëÿåò ñîáîé êîìàíäó |
* ñòðîêîé ñ÷èòàåòñÿ íàáîð ñèìâîëîâ, êîòîðûé çàêàí÷èâàåòñÿ CR+LF (Windows) èëè LF(UNIX) èëè CR(Mac) |
* åñëè ñòðîêà íà÷èíàåòñÿ ñ #, òî âñÿ ñòðîêà (ò.å. êîììåíòàðèé) èãíîðèðóåòñÿ |
* ñêðèïò äîëæåí íà÷èòàòüñÿ ñ #SHS |
* ïðè çàïóñêå øåëëà àâòîìàòè÷åñêè çàïóñêàåòñÿ ñêðèïò .shell |
2) Èñòîðèÿ èç 5 (ìîæíî èçìåíèòü ïðè êîìïèëÿöèè) ââåä¸ííûõ êîìàíä. |
* ïåðåìåùåíèå ïî èñòîðèè - UP/DOWN |
3) Êîìàíäà alias, êîòîðàÿ ïîçâîëÿåò ââîäèòü ñèíîíèìû äëÿ êîìàíä. |
* äî 256 (ìîæíî èçìåíèòü ïðè êîìïèëÿöèè) ñèíîíèìîâ |
* ïîêà ðàáîòàåò òîëüêî äîáàâëåíèå è ïðîñìîòð ñèíîíèìîâ, à îòðàáîòêà ïîêà íå ðåàëèçîâàíà. |
Shell 0.2 // 04.08.2008 // Albom |
======================================= |
* äîáàâèë íîâûå ôóíêöèè |
* íàïèñàë ñîáñòâåííóþ ïðîöåäóðó ââîäà êîìàíäû |
Shell 0.11 // 01.08.2008 // Albom |
======================================= |
* Äîáàâèë êîìàíäû free è reboot, âí¸ñ íåêîòîðûå èçìåíåíèÿ, èñïðàâèë íàéäåííûå îøèáêè. |
Shell 0.1 // 29.07.2008 // Albom |
======================================= |
* Ðåàëèçîâàíû (íå ïîëíîñòüþ) êîìàíäû: about, cd, date, echo, exit, help, kill, ls, ps, pwd, ver |
* Ïðè çàïóñêå ïðîãðàììû (åñëè íå óêàçàí ïîëíûé ïóòü) îíà èùåòñÿ â êàòàëîãå /rd/1 è òåêóùåì êàòàëîãå. |
Shell 0.02 // 27.07.2008 // Albom |
======================================= |
* Ðåàëèçîâàë êîìàíäû: |
exit - âûõîä |
ls (ñ ïàðàìåòðîì è áåç) - âûâîä ñïèñêà äèðåêòîðèè |
pwd - òåêóùèé êàòàëîã |
ps - ñïèñîê ïðîöåññîâ è èõ PID |
kill - çàâåðøèòü ïðîöåññ ïî PID |
help (ñ ïàðàìåòðîì è áåç) - ïîìîùü |
Shell 0.01 // 27.07.2008 // Albom |
======================================= |
* Ðåøèë íàïèñàòü ôóíêöèîíàëüíûé øåëë íà Ñè ñ èñïîëüçîâàíèåì console.obj. |
* Ïîêà ñäåëàë ôóíêöèþ îòäåëåíèÿ êîìàíäû è ïàðàìåòðîâ, à òàêæå ðåàëèçîâàë êîìàíäû help (ïîêà áåç ïàðàìåòðîâ), ver è exit. |
/programs/system/shell/all.h |
---|
1,6 → 1,8 |
/// =========================================================== |
#include "lang.h" |
#include "system/boolean.h" |
#include "system/kolibri.h" |
#include "system/stdlib.h" |
22,7 → 24,7 |
#include "cmd/cmd_date.c" |
#include "cmd/cmd_exit.c" |
#include "cmd/cmd_cd.c" |
#include "cmd/cmd_free.c" |
#include "cmd/cmd_memory.c" |
#include "cmd/cmd_reboot.c" |
#include "cmd/cmd_mkdir.c" |
#include "cmd/cmd_rmdir.c" |
33,6 → 35,9 |
#include "cmd/cmd_clear.c" |
#include "cmd/cmd_ccpuid.c" |
#include "cmd/cmd_sleep.c" |
#include "cmd/cmd_turnoff.c" |
#include "cmd/cmd_kerver.c" |
#include "cmd/cmd_uptime.c" |
#include "modules/module_command.c" |
#include "modules/module_program.c" |
/programs/system/shell/bin/.shell |
---|
File deleted |
/programs/system/shell/bin/shell.kex |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Deleted: svn:mime-type |
-application/octet-stream |
\ No newline at end of property |
/programs/system/shell/bin/eng/.shell |
---|
0,0 → 1,5 |
#SHS |
about |
echo Type 'help' for help |
echo |
/programs/system/shell/bin/eng/shell.kex |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/programs/system/shell/bin/eng |
---|
Property changes: |
Added: tsvn:logminsize |
+5 |
\ No newline at end of property |
/programs/system/shell/bin/rus/.shell |
---|
0,0 → 1,5 |
#SHS |
about |
echo ¢¥¤¨â¥ 'help' ¤«ï á¯à ¢ª¨ |
echo |
/programs/system/shell/bin/rus/shell.kex |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/programs/system/shell/bin/rus |
---|
Property changes: |
Added: tsvn:logminsize |
+5 |
\ No newline at end of property |
/programs/system/shell/cmd/cmd_about.c |
---|
2,6 → 2,7 |
int cmd_about(char param[]) |
{ |
#if LANG_ENG |
char message[] = { |
"\ |
\n\r\ |
11,6 → 12,17 |
e-mail: albom85@yandex.ru\n\r\ |
site: http://albom85.narod.ru/\n\r\n\r\ |
"}; |
#elif LANG_RUS |
char message[] = { |
"\ |
\n\r\ |
Shell ¤«ï KolibriOS\n\r\ |
¢¥àá¨ï %s\n\r\n\r\ |
¢â®à: «¥ªá ¤à ®£®¬ § aka Albom\n\r\ |
e-mail: albom85@yandex.ru\n\r\ |
á ©â: http://albom85.narod.ru/\n\r\n\r\ |
"}; |
#endif |
printf(message, SHELL_VERSION); |
return TRUE; |
/programs/system/shell/cmd/cmd_cd.c |
---|
7,7 → 7,11 |
if (NULL == dir) |
{ |
printf(" cd directory\n\r"); |
#if LANG_ENG |
printf(" cd <directory>\n\r"); |
#elif LANG_RUS |
printf(" cd <äèðåêòîðèÿ>\n\r"); |
#endif |
return FALSE; |
} |
/programs/system/shell/cmd/cmd_date.c |
---|
6,7 → 6,11 |
unsigned time; |
date = kol_system_date_get(); |
printf(" date [dd.mm.yy]: %x%x.%x%x.%x%x", |
#if LANG_ENG |
printf(" Date [dd.mm.yy]: %x%x.%x%x.%x%x", |
#elif LANG_RUS |
printf(" â [¤¤.¬¬.££]: %x%x.%x%x.%x%x", |
#endif |
(date&0xf00000)>>20, (date&0xf0000)>>16, // day |
(date&0xf000)>>12, (date&0xf00)>>8, //month |
(date&0xf0)>>4, (date&0xf) ); // year |
14,7 → 18,11 |
time = kol_system_time_get(); |
printf("\n\r time [hh:mm:ss]: %x%x:%x%x:%x%x\n\r", |
#if LANG_ENG |
printf("\n\r Time [hh:mm:ss]: %x%x:%x%x:%x%x\n\r", |
#elif LANG_RUS |
printf("\n\r ६ï [çç:¬¬:áá]: %x%x:%x%x:%x%x\n\r", |
#endif |
(time&0xf0)>>4, (time&0xf), // hours |
(time&0xf000)>>12, (time&0xf00)>>8, // minutes |
(time&0xf00000)>>20, (time&0xf0000)>>16 ); // seconds |
/programs/system/shell/cmd/cmd_help.c |
---|
4,7 → 4,11 |
int i; |
#if LANG_ENG |
char available[]={" %d commands available:\n\r"}; |
#elif LANG_RUS |
char available[]={" ®«-¢® ¤®áâã¯ëå ª®¬ ¤: %d\n\r"}; |
#endif |
if ( !strlen(cmd) ) |
{ |
22,7 → 26,11 |
return TRUE; |
} |
#if LANG_ENG |
printf (" Command \'%s\' not found.\n\r", cmd); |
#elif LANG_RUS |
printf (" ®¬ ¤ \'%s\' ¥ ©¤¥ .\n\r", cmd); |
#endif |
printf (available, NUM_OF_CMD); |
for (i = 0; i < NUM_OF_CMD; i++) |
printf(" %s\n\r", COMMANDS[i].name); |
/programs/system/shell/cmd/cmd_kerver.c |
---|
0,0 → 1,27 |
int cmd_kerver(char param[]) |
{ |
char *kvbuf; |
char *vA, *vB, *vC, *vD; |
unsigned *Rev; |
kvbuf = malloc(16); |
kol_get_kernel_ver(kvbuf); |
vA = kvbuf+0; |
vA = *vA; |
vB = kvbuf+1; |
vB = *vB; |
vC = kvbuf+2; |
vC = *vC; |
vD = kvbuf+3; |
vD = *vD; |
Rev = kvbuf+5; |
Rev = *Rev; |
#if LANG_ENG |
printf (" KolibriOS v%d.%d.%d.%d. Kernel SVN-rev.: %d\n\r", vA, vB, vC, vD, Rev); |
#elif LANG_RUS |
printf (" ®«¨¡à¨ v%d.%d.%d.%d. SVN-ॢ. ï¤à : %d\n\r", vA, vB, vC, vD, Rev); |
#endif |
free(kvbuf); |
return TRUE; |
} |
/programs/system/shell/cmd/cmd_kill.c |
---|
24,7 → 24,7 |
if (NULL == process) |
{ |
printf(" kill PID\n\r"); |
printf(" kill <PID>\n\r"); |
return FALSE; |
} |
else |
/programs/system/shell/cmd/cmd_memory.c |
---|
0,0 → 1,18 |
int cmd_memory(char param[]) |
{ |
unsigned total, free, used; |
total = kol_system_mem(); |
free = kol_system_memfree(); |
used = total - free; |
#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_mkdir.c |
---|
8,7 → 8,11 |
if (NULL == dir) |
{ |
printf(" mkdir directory\n\r"); |
#if LANG_ENG |
printf(" mkdir <directory>\n\r"); |
#elif LANG_RUS |
printf(" mkdir <¤¨à¥ªâ®à¨ï>\n\r"); |
#endif |
return FALSE; |
} |
/programs/system/shell/cmd/cmd_more.c |
---|
5,13 → 5,17 |
kol_struct70 k70; |
kol_struct_BDVK bdvk; |
unsigned result, filesize, pos, i; |
char buf[81]; //áóôåð |
char buf[81]; //¡ãä¥à |
char temp[256]; |
unsigned flags; |
if (NULL == file) |
{ |
printf (" less filename\n\r"); |
#if LANG_ENG |
printf (" more <filename>\n\r"); |
#elif LANG_RUS |
printf (" more <¨¬ï ä ©« >\n\r"); |
#endif |
return FALSE; |
} |
41,11 → 45,11 |
k70.p20 = 0; |
k70.p21 = temp; |
result = kol_file_70(&k70); // ïîëó÷àåì èíôîðìàöèþ î ôàéëå |
result = kol_file_70(&k70); // ¯®«ãç ¥¬ ¨ä®à¬ æ¨î ® ä ©«¥ |
if ( 0 != result ) |
return FALSE; |
filesize = bdvk.p32[0]; // ïîëó÷àåì ðàçìåð ôàéëà |
filesize = bdvk.p32[0]; // ¯®«ãç ¥¬ à §¬¥à ä ©« |
buf[80]=0; |
flags = con_get_flags(); |
63,7 → 67,7 |
k70.p20 = 0; |
k70.p21 = temp; |
result = kol_file_70(&k70); // ÷òåíèå 80 ñèìâîëîâ |
result = kol_file_70(&k70); // ç⥨¥ 80 ᨬ¢®«®¢ |
for (i=0; i<80; i++) |
{ |
/programs/system/shell/cmd/cmd_reboot.c |
---|
1,6 → 1,14 |
int cmd_reboot(char param[]) |
{ |
if (strcmp(param, "kernel")) |
{ |
kol_system_end(4); |
return TRUE; |
} |
else |
{ |
kol_system_end(3); |
return TRUE; |
} |
} |
/programs/system/shell/cmd/cmd_rm.c |
---|
8,7 → 8,11 |
if (NULL == file) |
{ |
printf (" rm filename\n\r"); |
#if LANG_ENG |
printf (" rm <filename>\n\r"); |
#elif LANG_RUS |
printf (" rm <¨¬ï ä ©« >\n\r"); |
#endif |
return FALSE; |
} |
/programs/system/shell/cmd/cmd_rmdir.c |
---|
8,7 → 8,11 |
if (NULL == dir) |
{ |
printf(" rmdir directory\n\r"); |
#if LANG_ENG |
printf(" rmdir <directory>\n\r"); |
#elif LANG_ENG |
printf(" rmdir <¤¨à¥ªâ®à¨ï>\n\r"); |
#endif |
return FALSE; |
} |
/programs/system/shell/cmd/cmd_touch.c |
---|
8,7 → 8,11 |
if (NULL == file) |
{ |
printf(" touch filename\n\r"); |
#if LANG_ENG |
printf(" touch <filename>\n\r"); |
#elif LANG_RUS |
printf(" touch <¨¬ï ä ©« >\n\r"); |
#endif |
return FALSE; |
} |
/programs/system/shell/cmd/cmd_turnoff.c |
---|
0,0 → 1,6 |
int cmd_turnoff(char param[]) |
{ |
kol_system_end(2); |
return TRUE; |
} |
/programs/system/shell/cmd/cmd_uptime.c |
---|
0,0 → 1,19 |
int cmd_uptime(char param[]) |
{ |
unsigned time_tick, up_days, up_hours, up_minutes, up_seconds, up_millisecs; |
time_tick = kol_time_tick(); |
up_days = (time_tick/(24*60*60*100)); |
up_hours = (time_tick/(60*60*100))%24; |
up_minutes = (time_tick/(60*100))%60; |
up_seconds = (time_tick/100)%60; |
up_millisecs = (time_tick*10)%100; |
#if LANG_ENG |
printf (" Uptime: %d day(s), %d:%d:%d.%d\n\r", up_days, up_hours, up_minutes, up_seconds, up_millisecs); |
#elif LANG_RUS |
printf (" Uptime: %d ¤¥©, %d:%d:%d.%d\n\r", up_days, up_hours, up_minutes, up_seconds, up_millisecs); |
#endif |
return TRUE; |
} |
/programs/system/shell/compile_eng.bat |
---|
0,0 → 1,15 |
@echo off |
erase shell.kex lang.h |
echo #define LANG_ENG 1 > lang.h |
fasm start.asm start.o |
gcc -c shell.c |
gcc -c system/kolibri.c |
gcc -c system/stdlib.c |
gcc -c system/string.c |
ld -nostdlib -T kolibri.ld -o shell.kex start.o kolibri.o stdlib.o string.o shell.o |
objcopy shell.kex -O binary |
erase lang.h start.o shell.o kolibri.o stdlib.o string.o |
kpack shell.kex |
move shell.kex bin\eng\ |
copy locale\eng\.shell bin\eng\ |
pause |
/programs/system/shell/compile_rus.bat |
---|
0,0 → 1,15 |
@echo off |
erase shell.kex lang.h |
echo #define LANG_RUS 1 > lang.h |
fasm start.asm start.o |
gcc -c shell.c |
gcc -c system/kolibri.c |
gcc -c system/stdlib.c |
gcc -c system/string.c |
ld -nostdlib -T kolibri.ld -o shell.kex start.o kolibri.o stdlib.o string.o shell.o |
objcopy shell.kex -O binary |
erase lang.h start.o shell.o kolibri.o stdlib.o string.o |
kpack shell.kex |
move shell.kex bin\rus\ |
copy locale\rus\.shell bin\rus\ |
pause |
/programs/system/shell/globals.h |
---|
1,5 → 1,5 |
#define SHELL_VERSION "0.4.4" |
#define SHELL_VERSION "0.4.5" |
extern char PATH[256]; |
extern char PARAM[256]; |
49,7 → 49,7 |
int cmd_date(char arg[]); |
int cmd_echo(char text[]); |
int cmd_exit(char arg[]); |
int cmd_free(char arg[]); |
int cmd_memory(char arg[]); |
int cmd_help(char cmd[]); |
int cmd_kill(char process[]); |
int cmd_ls(char dir[]); |
63,34 → 63,17 |
int cmd_touch(char file[]); |
int cmd_ver(char arg[]); |
int cmd_sleep(char arg[]); |
int cmd_turnoff(char arg[]); |
int cmd_kerver(char arg[]); |
int cmd_uptime(char param[]); |
/// =========================================================== |
const command_t COMMANDS[]= |
{ |
{"about", " Displays information about the program\n\r", &cmd_about}, |
{"alias", " Allows the user view the current aliases\n\r", &cmd_alias}, |
{"ccpuid"," Displays CPU information\n\r", &cmd_ccpuid}, |
{"cd", " Changes directories\n\r", &cmd_cd}, |
{"clear", " Clears the display\n\r", &cmd_clear}, |
{"date", " Returns the date and time\n\r", &cmd_date}, |
{"echo", " Echoes the data to the screen\n\r", &cmd_echo}, |
{"exit", " Exits program\n\r", &cmd_exit}, |
{"free", " Displays total, free and used memory\n\r", &cmd_free}, |
{"help", " Gives help\n\r", &cmd_help}, |
{"kill", " Stops a running process\n\r", &cmd_kill}, |
{"ls", " Lists the files in a directory\n\r", &cmd_ls}, |
{"mkdir", " Makes directory\n\r", &cmd_mkdir}, |
{"more", " Displays a data file to the screen\n\r", &cmd_more}, |
{"ps", " Lists the current processes running\n\r", &cmd_ps}, |
{"pwd", " Displays the name of the working directory\n\r", &cmd_pwd}, |
{"reboot"," Reboots the computer\n\r", &cmd_reboot}, |
{"rm", " Removes files\n\r", &cmd_rm}, |
{"rmdir", " Removes directories\n\r", &cmd_rmdir}, |
{"sleep", " Stops the shell for the desired period\n\r", &cmd_sleep}, |
{"touch", " Creates an empty file or updates the time/date stamp on a file\n\r", &cmd_touch}, |
{"ver", " Displays version\n\r", &cmd_ver}, |
}; |
#if LANG_ENG |
#include "locale/eng/globals.h" |
#elif LANG_RUS |
#include "locale/rus/globals.h" |
#endif |
/// =========================================================== |
/programs/system/shell/locale/eng/.shell |
---|
0,0 → 1,5 |
#SHS |
about |
echo Type 'help' for help |
echo |
/programs/system/shell/locale/eng/globals.h |
---|
0,0 → 1,28 |
const command_t COMMANDS[]= |
{ |
{"about", " Displays information about Shell\n\r", &cmd_about}, |
{"alias", " Allows the user view the current aliases\n\r", &cmd_alias}, |
{"ccpuid", " Displays CPU information\n\r", &cmd_ccpuid}, |
{"cd", " Changes current directory. Usage:\n\r cd <directory name>\n\r", &cmd_cd}, |
{"clear", " Clears the screen\n\r", &cmd_clear}, |
{"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}, |
{"help", " Gives help on commands. Usage:\n\r help ;it lists all builtins\n\r help <command> ;help on command\n\r", &cmd_help}, |
{"kerver", " Displays the information about a version of KoOS kernel\n\r", &cmd_kerver}, |
{"kill", " Stops a running process. Usage:\n\r kill <PID of process>\n\r", &cmd_kill}, |
{"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}, |
{"mkdir", " Makes directory. Usage:\n\r mkdir <folder name> ;creates the folder in working directory\n\r mkdir <path><folder name> ;create folder by specified path\n\r", &cmd_mkdir}, |
{"more", " Displays a file data to the screen. Usage:\n\r more <file name>\n\r", &cmd_more}, |
{"ps", " Lists the current processes running\n\r", &cmd_ps}, |
{"pwd", " Displays the name of the working directory\n\r", &cmd_pwd}, |
{"reboot", " Reboots the computer or KoOS kernel. Usage:\n\r reboot ;reboot a PC\n\r reboot kernel ;reboot the KoOS 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}, |
{"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}, |
{"touch", " Creates an empty file or updates the time/date stamp on a file. Usage:\n\r touch <file name>\n\r", &cmd_touch}, |
{"turnoff"," Turns off the computer\n\r", &cmd_turnoff}, |
{"uptime", " Displays the uptime", &cmd_uptime}, |
{"ver", " Displays version of Shell\n\r", &cmd_ver}, |
}; |
/programs/system/shell/locale/eng |
---|
Property changes: |
Added: tsvn:logminsize |
+5 |
\ No newline at end of property |
/programs/system/shell/locale/rus/.shell |
---|
0,0 → 1,5 |
#SHS |
about |
echo ¢¥¤¨â¥ 'help' ¤«ï á¯à ¢ª¨ |
echo |
/programs/system/shell/locale/rus/globals.h |
---|
0,0 → 1,28 |
const command_t COMMANDS[]= |
{ |
{"about", " 뢮¤¨â ¨ä®à¬ æ¨î ® ¯à®£à ¬¬¥ Shell\n\r", &cmd_about}, |
{"alias", " ®ª §ë¢ ¥â ᯨ᮪ alias'®¢\n\r", &cmd_alias}, |
{"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", " ë室 ¨§ ª®á®«¨\n\r", &cmd_exit}, |
{"memory", " ®ª §ë¢ ¥â ®¡êñ¬ ¯ ¬ïâ¨: ¢á¥©, ᢮¡®¤®© ¨ ¨á¯®«ì§ã¥¬®©\n\r", &cmd_memory}, |
{"help", " ¯à ¢ª ¯® ª®¬ ¤ ¬. ᯮ«ì§®¢ ¨¥:\n\r help ;ᯨ᮪ ¢á¥å ª®¬ ¤\n\r help <ª®¬ ¤ > ;á¯à ¢ª ¯® ª®¬ ¤¥\n\r", &cmd_help}, |
{"kerver", " 뢮¤¨â ¨ä®à¬ æ¨î ® ¢¥àᨨ ï¤à KoOS\n\r", &cmd_kerver}, |
{"kill", " ¡¨¢ ¥â ¯à®æ¥áá. ᯮ«ì§®¢ ¨¥:\n\r kill <PID ¯à®æ¥áá >\n\r", &cmd_kill}, |
{"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}, |
{"ps", " 뢮¤¨â ᯨ᮪ ¯à®æ¥áᮢ\n\r", &cmd_ps}, |
{"pwd", " ®ª §ë¢ ¥â ¨¬ï ⥪ã饩 ¤¨à¥ªâ®à¨¨\n\r", &cmd_pwd}, |
{"reboot", " ¥à¥§ £à㦠¥â ª®¬¯ìîâ¥à ¨«¨ ï¤à® KoOS. ᯮ«ì§®¢ ¨¥:\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}, |
{"sleep", " áâ ¢«¨¢ ¥â à ¡®âã Shell' § ¤ ®¥ ¢à¥¬ï. ᯮ«ì§®¢ ¨¥:\n\r sleep <¨â¥à¢ « ¢ á®âëå ¤®«ï ᥪã¤ë>\n\r ਬ¥à:\n\r sleep 500 ;¯ 㧠5 ᥪ.\n\r", &cmd_sleep}, |
{"touch", " ®§¤ ñâ ¯ãá⮩ ä ©« ¨«¨ ¨§¬¥ï¥â ¤ âã/¢à¥¬ï ᮧ¤ ¨ï ä ©« . ᯮ«ì§®¢ ¨¥:\n\r touch <¨¬ï ä ©« >\n\r", &cmd_touch}, |
{"turnoff"," 몫îç ¥â ª®¬¯ìîâ¥à\n\r", &cmd_turnoff}, |
{"uptime", " ®ª §ë¢ ¥â uptime", &cmd_uptime}, |
{"ver", " ®ª §ë¢ ¥â ¢¥àá¨î Shell' \n\r", &cmd_ver}, |
}; |
/programs/system/shell/locale/rus |
---|
Property changes: |
Added: tsvn:logminsize |
+5 |
\ No newline at end of property |
/programs/system/shell/locale |
---|
Property changes: |
Added: tsvn:logminsize |
+5 |
\ No newline at end of property |
/programs/system/shell/modules/module_executable.c |
---|
5,14 → 5,18 |
{ |
char exec[256]; |
#if LANG_ENG |
char error_starting[]={" No such command '%s'.\n\r"}; |
#elif LANG_RUS |
char error_starting[]={" ¥ â ª®© ª®¬ ¤ë - '%s'.\n\r"}; |
#endif |
int result; |
if ( '/' == cmd[0]) // åñëè ïóòü àáñîëáòíûé |
if ( '/' == cmd[0]) // ¥á«¨ ¯ãâì ¡á®«¡âë© |
{ |
strcpy(exec, cmd); |
if ( !file_check(exec) ) // ïðîâåðÿåì ñóùåñòâîâàíèå ôàéëà |
if ( !file_check(exec) ) // ¯à®¢¥à塞 áãé¥á⢮¢ ¨¥ ä ©« |
{ |
printf(error_starting, cmd); |
return FALSE; |
21,14 → 25,14 |
else |
{ |
strcpy(exec, cur_dir); // ïðîâåðÿåì ôàéë â òåêóùåì êàòàëîãå |
strcpy(exec, cur_dir); // ¯à®¢¥à塞 ä ©« ¢ ⥪ã饬 ª â «®£¥ |
strcat(exec, cmd); |
if ( !file_check(exec) ) // ïðîâåðÿåì ñóùåñòâîâàíèå ôàéëà |
if ( !file_check(exec) ) // ¯à®¢¥à塞 áãé¥á⢮¢ ¨¥ ä ©« |
{ |
strcpy(exec, "/rd/1/"); // ïðîâåðÿåì ôàéë íà âèðòóàëüíîì äèñêå |
strcpy(exec, "/rd/1/"); // ¯à®¢¥à塞 ä ©« ¢¨àâ㠫쮬 ¤¨áª¥ |
strcat(exec, cmd); |
if ( !file_check(exec) ) // ïðîâåðÿåì ñóùåñòâîâàíèå ôàéëà |
if ( !file_check(exec) ) // ¯à®¢¥à塞 áãé¥á⢮¢ ¨¥ ä ©« |
{ |
printf(error_starting, cmd); |
return FALSE; |
42,11 → 46,15 |
return script_run(exec, args); |
} |
/* çàïóñê ïðîãðàììû */ |
/* § ¯ã᪠¯à®£à ¬¬ë */ |
result = program_run(exec, args); |
if (result > 0) |
{ |
#if LANG_ENG |
printf (" '%s' started. PID = %d\n\r", cmd, result); |
#elif LANG_RUS |
printf (" '%s' § ¯ãé¥. PID = %d\n\r", cmd, result); |
#endif |
return TRUE; |
} |
else |
/programs/system/shell/system/kolibri.c |
---|
410,3 → 410,8 |
{ |
asm ("int $0x40"::"a"(18), "b"(18), "c"(process)); |
} |
void kol_get_kernel_ver(char buff16b[]) |
{ |
asm ("int $0x40"::"a"(18), "b"(13), "c"(buff16b)); |
} |
/programs/system/shell/system/kolibri.h |
---|
88,3 → 88,4 |
unsigned kol_sound_speaker(char data[]); |
unsigned kol_process_info(unsigned slot, char buf1k[]); |
int kol_process_kill_pid(unsigned process); |
void kol_get_kernel_ver(char buff16b[]); |