Êîíñîëüíûå ïðèëîæåíèÿ Shell
=======================================
Îáìåí èíôîðìàöèåé ìåæäó Shell è êîíñîëüíûìè ïðèëîæåíèÿìè îñóùåñòâëÿåòñÿ ÷åðåç èìåíîâàííóþ îáëàñòü.
Êîíñîëüíîå ïðèëîæåíèå ìîæåò áûòü íàïèñàíî íà ëþáîì ÿçûêå ïðîãðàììèðîâàíèÿ - ýòî îáûêíîâåííàÿ ïðîãðàììà äëÿ ÊîëèáðèÎÑ.
Êîíñîëüíîå ïðèëîæåíèå ïîñëå ñâîåãî çàïóñêà â ïåðâóþ î÷åðåäü äîëæíî ñîçäàòü èìåíîâàííóþ îáëàñòü ñ èìåíåì pid-SHELL, ãäå pid - èäåíòèôèêàòîð ïðîöåññà áåç çàãëàâíûõ íóëåé,
íàïðèìåð: 6, 42 èëè 204.
Ïåðâûé áàéò îáëàñòè - êîìàíäà (ò.å. ìàêñèìóì 255 êîìàíä, ÷òî âïîëíå äîñòàòî÷íî), äàëåå - äàííûå (ìîãóò îòñóòñòâîâàòü).
Ñïèñîê ðåàëèçîâàííûõ êîìàíä:
SC_OK 0 íè÷åãî íå äåëàòü
SC_EXIT 1 âûõîä
SC_PUTC 2 âûâåñòè íà ýêðàí ñèìâîë
SC_PUTS 3 âûâåñòè íà ýêðàí ñòðîêó
SC_GETC 4 ñ÷èòàòü ñ êëàâèàòóðû ñèìâîë
SC_GETS 5 ñ÷èòàòü ñ êëàâèàòóðû ñòðîêó
SC_CLS 6 î÷èñòèòü ýêðàí
Ïðîãðàììà äîëæíà ñàìà çàáîòèòüñÿ î ðàöèîíàëüíîì èñïîëüçîâàíèè ïðîöåññîðíîãî âðåìåíè.
Ïðîãðàììà äîëæíà ñàìà çàáîòèòüñÿ î çàêðûòèè èìåíîâàííîé îáëàñòè.
Êîìàíäû Shell
=======================================
 óãëîâûõ ñêîáêàõ óêàçàíû ïàðàìåòðû êîìàíä
about âûâîäèò âåðñèþ ïðîãðàììû shell
alias áåç ïàðàìåòðà âûâîäèò ñïèñîê ñèíîíèìîâ êîìàíä,
ñ ïàðàìåòðîì âèäà newprg = old_name îïðåäåëÿåò ñèíîíèì newprg
åñëè åñòü ïðîáåëû, íóæíî çíà÷åíèå çàêàâû÷èòü newprg = "old name"
cd ñìåíèòü òåêóùèé êàòàëîã íà óêàçàííûé ïàðàìåòðîì <êàòàëîã>
clear î÷èñòêà ýêðàíà
cp êîïèðîâàíèå ôàéëà <èñòî÷íèê> <ðåçóëüòàò>
date ïîêàçûâàåò äàòó è âðåìÿ
echo Âûâîäèò <äàííûå> íà ýêðàí
exit çàâåðøåíèå ðàáîòû Shell
free ïîêàçûâàåò îáú¸ì îïåðàòèâíîé ïàìÿòè: âñåé, ñâîáîäíîé è èñïîëüçóåìîé
help ïîêàçàòü ïåðå÷åíü êîìàíä shell. Ñ ïàðàìåòðîì <êîìàíäà> ñïðàâêà ïî êîìàíäå
history cïèñîê ïîñëåäíèõ èñïîëüçîâàííûõ êîìàíä
kill óáèâàåò ïðîöåññ ïî <PID>. kill all óáèâàåò âñå ïðîöåññû, ñëîòû >=2
ls âûâîäèò ñïèñîê ôàéëîâ â òåêóùåì êàòàëîãå èëè óêàçàííîì <êàòàëîãå>
êëþ÷ '-1' âûâîäèò ñïèñîê â îäíó êîëîíêó, èíà÷å ìíîãîêîëîíî÷íûé âûâîä
mkdir cîçäàåò <êàòàëîã>. Ïîääåðæèâàþòñÿ àáñîëþíûå è îòíîñèòåëüíûå ïóòè
more âûâîäèò ñîäåðæèìîå <ôàéëà> íà ýêðàí
ps ïîêàçûâàåò ñïèñîê ïðîöåññîâ è èõ PID,
åñëè çàäàòü <èìÿ>, ïîêàæåò %CPU, èñïîëüçóåìóþ ïàìÿòü è çàïîìíèò
âíóòðåííþþ ïåðåìåííóþ LASTPID (ïîëåçíî äëÿ êîìàíäû waitfor)
<èìÿ> - ýòî ïåðâûå 11 áóêâ èìåíè èñïîëíÿåìîãî ôàéëà áåç ðàñøèðåíèÿ
pwd ïîêàçûâàåò èìÿ òåêóùåãî êàòàëîãà
reboot ïåðåçàãðóæàåò êîìïüþòåð èëè ÿäðî KolibriOS. reboot kernel ïåðåçàïóñòèòü ÿäðî Kolibri
rm óäàëÿåò <ôàéë>
rmdir óäàëÿåò <êàòàëîã>
shutdown âûêëþ÷àåò êîìïüþòåð
sleep ïðèîñòàíàâëèâàåò ðàáîòó Shell'à íà çàäàííîå <âðåìÿ â ñîòûõ äîëÿõ ñåêóíäû>
touch ñîçäà¸ò ïóñòîé <ôàéë> èëè èçìåíÿåò äàòó/âðåìÿ ñîçäàíèÿ ôàéëà
uptime ïîêàçûâàåò âðåìÿ ðàáîòû ñèñòåìû ñ ìîìåíòà çàãðóçêè
ver ïîêàçûâàåò âåðñèþ Shell, ver kernel - âåðñèþ è íîìåð ðåâèçèè ÿäðà OS,
ver cpu - èíôîðìàöèþ î ïðîöåññîðå
waitfor åñëè ïåðåä ýòèì áûëà çàïóùåíà ïðîãðàììà, ïðèîñòàíàâëèâàåò
âûïîëíåíèå êîìàíäíîãî ôàéëà äî åå çàâåðøåíèÿ ïî LASTPID
èëè äî çàâåðøåíèÿ ÿâíî óêàçàííîãî ïàðàìåòðà <PID>
Ñêðèïòû è çàïóñê íà èñïîëíåíèå
=======================================
Åñëè èìÿ èñïîëíèìîãî ôàéëà íà÷èíàåòñÿ ñ / òî ñ÷èòàåòñÿ ÷òî ïóòü ÿâëÿåòñÿ àáñîëþòíûì.
 ïðîòèâíîì ñëó÷àå, ïîèñê ñíà÷àëà ïðîâîäèòñÿ â òåêóùåì êàòàëîãå, à çàòåì â /rd/1.
Äàëåå, åñëè ôàéë íàéäåí, ïðîâåðÿþòñÿ ïåðâûå 4 áàéòà íà ñèãíàòóðó #SHS.
Ñ ýòîé ñèãíàòóðû íà÷èíàåòñÿ êîìàíäíûé (ïàêåòíûé) ôàéë.
 êîìàíäíîì ôàéëå äîïóñòèìû âñå êîìàíäû ïðèâåäåííûå âûøå, à êîììåíòàðèè
íà÷èíàþòñÿ ñ ñèìâîëà # â ïåðâîé ïîçèöèè ñòðîêè.
Åñëè íà âûïîëíåíèå áûë çàäàí èñïîëíÿåìûé ôàéë, çàïîìíèò LASTPID