Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 1667 → Rev 1668

/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[]);