Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 3246 → Rev 3247

/programs/system/shell/History.txt
1,172 → 1,178
 
Shell 0.6.1 // 17.02.2013 // Albom
* à®áâ ï ®¡à ¡®âª  ®è¨¡®ª ¢­ãâ७­¨å ª®¬ ­¤
* Š®¬ ­¤  killall âà ­áä®à¬¨à®¢ ­  ¢ ¯ à ¬¥âà all ª®¬ ­¤ë kill
* ˆ§¬¥­¥­  ª®¤¨à®¢ª  ä ©«  History.txt á 1251 ­  866
 
 
Shell 0.6 // 16.02.2013 // Albom
+ Äîáàâëåíà âîçìîæíîñòü çàïóñêàòü ïðîãðàììû, èìåíà êîòîðûõ èëè ïóòü ê êîòîðûì ñîäåðæàò ïðîáåëû. Èìÿ ïðîãðàììû (âîçìîæíî ñ ïóò¸ì ê íåé) äëÿ ýòîãî íåîáõîäèìî çàêëþ÷àòü â êàâû÷êè. Ò.å. íàêîíåö-òî ìîæíî çàïóñòèòü ïðîãðàììó èç /rd/1/File managers, íå ïåðåõîäÿ â íå¸
+ Äîáàâëåíà ôóíêöèÿ ðàçäåëåíèÿ ñòðîêîâîé ïåðåìåííîé íà int argc, char* argv[], ÷òî îçíà÷àåò âîçìîæíîñòü óëó÷øåíèÿ êîìàíä (îáðàáîòêà íåñêîëüêèõ ïàðàìåòðîâ)
+ Äîáàâëåíà êîìàíäà cp (êîïèðîâàíèå ôàéëà). Ïðèíèìàåò îáÿçàòåëüíî äâà ïàðàìåòðà - èìÿ ôàéëà-èñòî÷íèêà è èìÿ ôàéëà-ðåçóëüòàòà. Èìåíà ìîãóò áûòü êðàòêèìè (â òåêóùåì êàòàëîãå), òàê è ñ ïîëíûì ïóò¸ì (äîëæíû íà÷èíàòüñÿ ñ /). Îãðàíè÷åíèå íà ðàçìåð ôàéëà - 4 Ãáàéòà
* Èñïðàâëåíà êîäèðîâêà â ñîîáùåíèè îá îøèáêå â êîíñîëüíîì ïðèëîæåíèè
* Êëàâèøè èñòîðèè (ââåðõ è âíèç) ïîìåíÿíû ìåæäó ñîáîé
* Êîëè÷åñòâî êîìàíä â èñòîðèè óâåëè÷åíî ñ ïÿòè äî äåñÿòè
* Óìåíüøåíî êîëè÷åñòâî ïðåäóïðåæäåíèé ïðè êîìïèëÿöèè
* Êîìàíäà ccpuid ïðåîáðàçîâàíà â ïàðàìåòð cpu êîìàíäû ver
* Èñïðàâëåíèÿ â ïàêåòíûõ ôàéëàõ ñáîðêè
+ Äîáàâëåí ïðèìåð êîíñîëüíîãî ïðèëîæåíèÿ íà àññåìáëåðå è ïàêåòíûé ôàéë äëÿ åãî ñáîðêè
+ „®¡ ¢«¥­  ¢®§¬®¦­®áâì § ¯ã᪠âì ¯à®£à ¬¬ë, ¨¬¥­  ª®â®àëå ¨«¨ ¯ãâì ª ª®â®àë¬ á®¤¥à¦ â ¯à®¡¥«ë. ˆ¬ï ¯à®£à ¬¬ë (¢®§¬®¦­® á ¯ãâñ¬ ª ­¥©) ¤«ï í⮣® ­¥®¡å®¤¨¬® § ª«îç âì ¢ ª ¢ë窨. ’.¥. ­ ª®­¥æ-â® ¬®¦­® § ¯ãáâ¨âì ¯à®£à ¬¬ã ¨§ /rd/1/File managers, ­¥ ¯¥à¥å®¤ï ¢ ­¥ñ
+ „®¡ ¢«¥­  äã­ªæ¨ï à §¤¥«¥­¨ï áâப®¢®© ¯¥à¥¬¥­­®© ­  int argc, char* argv[], çâ® ®§­ ç ¥â ¢®§¬®¦­®áâì ã«ãç襭¨ï ª®¬ ­¤ (®¡à ¡®âª  ­¥áª®«ìª¨å ¯ à ¬¥â஢)
+ „®¡ ¢«¥­  ª®¬ ­¤  cp (ª®¯¨à®¢ ­¨¥ ä ©« ). à¨­¨¬ ¥â ®¡ï§ â¥«ì­® ¤¢  ¯ à ¬¥âà  - ¨¬ï ä ©« -¨áâ®ç­¨ª  ¨ ¨¬ï ä ©« -१ã«ìâ â . ˆ¬¥­  ¬®£ãâ ¡ëâì ªà âª¨¬¨ (¢ ⥪ã饬 ª â «®£¥), â ª ¨ á ¯®«­ë¬ ¯ãâñ¬ (¤®«¦­ë ­ ç¨­ âìáï á /). Ž£à ­¨ç¥­¨¥ ­  à §¬¥à ä ©«  - 4 ƒ¡ ©â 
* ˆá¯à ¢«¥­  ª®¤¨à®¢ª  ¢ á®®¡é¥­¨¨ ®¡ ®è¨¡ª¥ ¢ ª®­á®«ì­®¬ ¯à¨«®¦¥­¨¨
* Š« ¢¨è¨ ¨áâ®à¨¨ (¢¢¥àå ¨ ¢­¨§) ¯®¬¥­ï­ë ¬¥¦¤ã ᮡ®©
* Š®«¨ç¥á⢮ ª®¬ ­¤ ¢ ¨áâ®à¨¨ 㢥«¨ç¥­® á ¯ï⨠¤® ¤¥áïâ¨
* “¬¥­ì襭® ª®«¨ç¥á⢮ ¯à¥¤ã¯à¥¦¤¥­¨© ¯à¨ ª®¬¯¨«ï樨
* Š®¬ ­¤  ccpuid ¯à¥®¡à §®¢ ­  ¢ ¯ à ¬¥âà cpu ª®¬ ­¤ë ver
* ˆá¯à ¢«¥­¨ï ¢ ¯ ª¥â­ëå ä ©« å ᡮન
+ „®¡ ¢«¥­ ¯à¨¬¥à ª®­á®«ì­®£® ¯à¨«®¦¥­¨ï ­   áᥬ¡«¥à¥ ¨ ¯ ª¥â­ë© ä ©« ¤«ï ¥£® ᡮન
 
 
Shell 0.5.4 // 04.06.2012 // Albom
=======================================
* Èñïðàâëåí èíòåðôåéñ èñïîëíÿåìûõ êîíñîëüíûõ ïðèëîæåíèé. Òåïåðü îíè äîëæíû ñîçäàâàòü áóôåð ñ èìåíåì pid-SHELL, ãäå pid - èäåíòèôèêàòîð ïðîöåññà áåç çàãëàâíûõ íóëåé
* Ðåèíêàðíèðîâàíû êîìàíäû ccpuid, free, killall
+ Äîáàâëåíà êîìàíäà history
* ˆá¯à ¢«¥­ ¨­â¥àä¥©á ¨á¯®«­ï¥¬ëå ª®­á®«ì­ëå ¯à¨«®¦¥­¨©. ’¥¯¥àì ®­¨ ¤®«¦­ë ᮧ¤ ¢ âì ¡ãä¥à á ¨¬¥­¥¬ pid-SHELL, £¤¥ pid - ¨¤¥­â¨ä¨ª â®à ¯à®æ¥áá  ¡¥§ § £« ¢­ëå ­ã«¥©
* ¥¨­ª à­¨à®¢ ­ë ª®¬ ­¤ë ccpuid, free, killall
+ „®¡ ¢«¥­  ª®¬ ­¤  history
 
 
Shell 0.5.3 // 19.04.2012 // Albom
=======================================
* Èñïðàâëåíèå â êîìàíäå pwd
* ˆá¯à ¢«¥­¨¥ ¢ ª®¬ ­¤¥ pwd
 
 
Shell 0.5.2 // 16.04.2012 // Albom
=======================================
* Èñïðàâëåíèå â êîìàíäå ls
* Íåçíà÷èòåëüíûå äðóãèå èñïðàâëåíèÿ
* ˆá¯à ¢«¥­¨¥ ¢ ª®¬ ­¤¥ ls
* ¥§­ ç¨â¥«ì­ë¥ ¤à㣨¥ ¨á¯à ¢«¥­¨ï
 
 
Shell 0.5.1 // 15.04.2012 // Albom
=======================================
* Íåêîòîðûå íåçíà÷èòåëüíûå èñïðàâëåíèÿ
* ¥ª®â®àë¥ ­¥§­ ç¨â¥«ì­ë¥ ¨á¯à ¢«¥­¨ï
 
 
Shell 0.5 // 23.03.2012 // Albom
=======================================
* Äîáàâëåíà ïîääåðæêà êîíñîëüíûõ ïðèëîæåíèé, êîòîðûå îáùàþòñÿ ñ øåëëîì ÷åðåç èìåíîâàííóþ îáëàñòü
* „®¡ ¢«¥­  ¯®¤¤¥à¦ª  ª®­á®«ì­ëå ¯à¨«®¦¥­¨©, ª®â®àë¥ ®¡é îâáï á 襫«®¬ ç¥à¥§ ¨¬¥­®¢ ­­ãî ®¡« áâì
 
 
Shell 0.4.6 // 30.01.2011 // Albom
=======================================
* Âðåìåííî óäàëåíû êîìàíäû killall è ccpuid (÷òîáû âåðíóòü, íåîáõîäèìî ðàñêîììåíòèðîâàòü 2 ñòðî÷êè)
* Èñïðàâëåíèÿ â òåêñòîâûõ ñòðîêàõ
* ‚६¥­­® 㤠«¥­ë ª®¬ ­¤ë killall ¨ ccpuid (çâ®¡ë ¢¥à­ãâì, ­¥®¡å®¤¨¬® à áª®¬¬¥­â¨à®¢ âì 2 áâà®çª¨)
* ˆá¯à ¢«¥­¨ï ¢ ⥪á⮢ëå áâப å
 
 
Shell 0.4.52 // 25.10.2010 // Pterox
=======================================
* Äîáàâëåíà êîìàíäà "killall" - óáèâàåò âñå ïðîöåññû êðîìå OS/IDLE.
* Ôèêñû
* „®¡ ¢«¥­  ª®¬ ­¤  "killall" - 㡨¢ ¥â ¢á¥ ¯à®æ¥ááë ªà®¬¥ OS/IDLE.
* ”¨ªáë
 
 
Shell 0.4.51 // 21.10.2010 // Pterox
=======================================
* Êîìàíäà "turnoff" ïåðåèìåíîâàíà â "shutdown", "kerver" óäàëåíà - òåïåðü å¸ çàìåíÿåò "ver kernel"; ôèêñû.
* Š®¬ ­¤  "turnoff" ¯¥à¥¨¬¥­®¢ ­  ¢ "shutdown", "kerver" 㤠«¥­  - ⥯¥àì ¥ñ § ¬¥­ï¥â "ver kernel"; 䨪áë.
 
 
Shell 0.4.5 // 19.10.2010 // Pterox
=======================================
Ïðîãðàììà òåïåðü ìíîãîÿçûêîâàÿ (àíãëèéñêèé, è ðóññêèé ÿçûê). Ïðîãðàììà ïîëíîñòüþ ðóñèôèöèðîâàííà.
* Êîìàíäà "free" ïåðåèìåíîâàíà â "memory" - äëÿ òî÷íîñòè.
* Äîáàâëåíû êîìàíäû turnoff (âûêëþ÷èòü êîìïüþòåð), kerver (âåðñèÿ ÿäðà KolibriOS), uptime; reboot òåïåðü ìîæåò ïåðåçàãðóæàòü ÿäðî ("reboot kernel")
à®£à ¬¬  ⥯¥àì ¬­®£®ï§ëª®¢ ï ( ­£«¨©áª¨©, ¨ àãá᪨© ï§ëª). à®£à ¬¬  ¯®«­®áâìî àãá¨ä¨æ¨à®¢ ­­ .
* Š®¬ ­¤  "free" ¯¥à¥¨¬¥­®¢ ­  ¢ "memory" - ¤«ï â®ç­®áâ¨.
* „®¡ ¢«¥­ë ª®¬ ­¤ë turnoff (¢ëª«îç¨âì ª®¬¯ìîâ¥à), kerver (¢¥àá¨ï ï¤à  KolibriOS), uptime; reboot ⥯¥àì ¬®¦¥â ¯¥à¥§ £à㦠âì ï¤à® ("reboot kernel")
 
 
Shell 0.4.4 // 20.08.2010 // Albom
=======================================
1) øåëë êîððåêòíî çàâåðøàåòñÿ ïðè çàêðûòèè îêíà
2) èñïðàâëåíî åù¸ 2 îøèáêè
3) äîáàâëåíû 2 êîìàíäû:
* sleep - æäàòü. ïàðàìåòð - âðåìÿ â ñîòûõ ÷àñòÿõ ñåêóíäû. òîëüêî öåëîå ÷èñëî.
* ccpuid - âûâîä â êîíñîëü èíôîðìàöèè (ïîêà ñêóäíî) î ïðîöåññîðå. ïîëüçû ìàëî, íî äàâíî õîòåë ñ êîìàíäîé cpuid ðàçîáðàòüñÿ (â ñëåäóþùåì ñåìåñòðå áóäó ñòóäåíòàì êóðñ ÷èòàòü, âêëþ÷èë ðàçáîð êîìàíäû â ïðîãðàììó).
1) 襫« ª®à४⭮ § ¢¥àè ¥âáï ¯à¨ § ªàë⨨ ®ª­ 
2) ¨á¯à ¢«¥­® ¥éñ 2 ®è¨¡ª¨
3) ¤®¡ ¢«¥­ë 2 ª®¬ ­¤ë:
* sleep - ¦¤ âì. ¯ à ¬¥âà - ¢à¥¬ï ¢ á®âëå ç áâïå ᥪ㭤ë. ⮫쪮 楫®¥ ç¨á«®.
* ccpuid - ¢ë¢®¤ ¢ ª®­á®«ì ¨­ä®à¬ æ¨¨ (¯®ª  áªã¤­®) ® ¯à®æ¥áá®à¥. ¯®«ì§ë ¬ «®, ­® ¤ ¢­® å®â¥« á ª®¬ ­¤®© cpuid à §®¡à âìáï (¢ á«¥¤ãî饬 ᥬ¥áâॠ¡ã¤ã áâ㤥­â ¬ ªãàá ç¨â âì, ¢ª«î稫 à §¡®à ª®¬ ­¤ë ¢ ¯à®£à ¬¬ã).
 
åñòü ìíîãî èäåé. íåêîòîðûå ëåãêî ðåàëèçóþòñÿ, íåêîòîðûå ñëîæíåå. åñëè èíòåðåñíî:
1) äîáàâèòü ïåðåìåííóþ (îäíó!), â êîòîðóþ áóäåò ðåçóëüòàò â òåêñòîâîé ôîðìå (íå òî ÷òî âîçâðàùàåò ôóíêöèÿ) çàïèñûâàòüñÿ. ñ íåé ìîæíî áóäåò ðàáîòàòü èç êîìàíäíîé ñòðîêè
2) âíåäðèòü ïðîñòóþ ñòåêîâóþ ìàøèíó äëÿ âû÷èñëåíèé ñ âåùåñòâåííûìè ÷èñëàìè
¥áâì ¬­®£® ¨¤¥©. ­¥ª®â®àë¥ «¥£ª® ॠ«¨§ãîâáï, ­¥ª®â®àë¥ á«®¦­¥¥. ¥á«¨ ¨­â¥à¥á­®:
1) ¤®¡ ¢¨âì ¯¥à¥¬¥­­ãî (®¤­ã!), ¢ ª®â®àãî ¡ã¤¥â १ã«ìâ â ¢ ⥪á⮢®© ä®à¬¥ (­¥ â® çâ® ¢®§¢à é ¥â äã­ªæ¨ï) § ¯¨á뢠âìáï. á ­¥© ¬®¦­® ¡ã¤¥â à ¡®â âì ¨§ ª®¬ ­¤­®© áâப¨
2) ¢­¥¤à¨âì ¯à®áâãî á⥪®¢ãî ¬ è¨­ã ¤«ï ¢ëç¨á«¥­¨© á ¢¥é¥á⢥­­ë¬¨ ç¨á« ¬¨
 
 
Shell 0.4.3 // 20.08.2010 // Albom
=======================================
* Ñìåñü âåðñèé 0.4.1 è 0.4.2. Òåïåðü â àðõèâå âñå èñõîäíûå ôàéëû, íåîáõîäèìûå äëÿ êîìïèëÿöèè (ðàíüøå èñïîëüçîâàëèñü îáúåêòíèêè ñ ìîèìè îá¸ðòêàìè, èñõîäíèêè ÿ ñ øåëëîì íå âûêëàäûâàë)
* ‘¬¥áì ¢¥àᨩ 0.4.1 ¨ 0.4.2. ’¥¯¥àì ¢  à娢¥ ¢á¥ ¨á室­ë¥ ä ©«ë, ­¥®¡å®¤¨¬ë¥ ¤«ï ª®¬¯¨«ï樨 (à ­ìè¥ ¨á¯®«ì§®¢ «¨áì ®¡ê¥ªâ­¨ª¨ á ¬®¨¬¨ ®¡ñà⪠¬¨, ¨á室­¨ª¨ ï á 襫«®¬ ­¥ ¢ëª« ¤ë¢ «)
 
 
Shell 0.4.2 // 28.08.2009 // diamond
=======================================
* Äîáàâèë êîððåêòíîå çàâåðøåíèå ðàáîòû ïðè çàêðûòèè îêíà êîíñîëè, ðàáîòàåò òîëüêî íà÷èíàÿ ñ ïîñëåäíåé íà äàííûé ìîìåíò âåðñèåé áèáëèîòåêè (ëåæèò íà svn, âêëþ÷åíà â íî÷íóþ ñáîðêó). Ïåðåêîìïèëèðîâàë â VS2008 ñ LTCG, åù¸ ïîøàìàíèë ñ îïòèìèçàöèåé ïî ðàçìåðó
* „®¡ ¢¨« ª®à४⭮¥ § ¢¥à襭¨¥ à ¡®âë ¯à¨ § ªàë⨨ ®ª­  ª®­á®«¨, à ¡®â ¥â ⮫쪮 ­ ç¨­ ï á ¯®á«¥¤­¥© ­  ¤ ­­ë© ¬®¬¥­â ¢¥àᨥ© ¡¨¡«¨®â¥ª¨ («¥¦¨â ­  svn, ¢ª«î祭  ¢ ­®ç­ãî á¡®àªã). ¥à¥ª®¬¯¨«¨à®¢ « ¢ VS2008 á LTCG, ¥éñ ¯®è ¬ ­¨« á ®¯â¨¬¨§ æ¨¥© ¯® à §¬¥àã
 
 
Shell 0.4.1 // 16.03.2009 // Albom
=======================================
* âåðñèÿ ñ èñïðàâëåííûìè îøèáêàìè.
* ðàáîòàåò êîìàíäà alias, äîáàâëåíà êîìàíäà clear.
* ¢¥àá¨ï á ¨á¯à ¢«¥­­ë¬¨ ®è¨¡ª ¬¨.
* à ¡®â ¥â ª®¬ ­¤  alias, ¤®¡ ¢«¥­  ª®¬ ­¤  clear.
 
 
Shell 0.4 // 12.08.2008 // Albom
=======================================
1) Ðàáîòàåò ñõåìà ïñåâäîíèìîâ (äî 256 êîìàíä)
- ïðîñìîòð ïî êîìàíäå alias (áåç ïàðàìåòðîâ)
- äîáàâëåíèå ïñåâäîíèìà êîìàíäû ñ êëàâèàòóðû èëè â ñêðèïòå (â òîì ÷èñëå è .shell): alias íîâàÿ êîìàíäà = ñòàðàÿ êîìàíäà
- êîìàíäû ðåãèñòðîçàâèñèìûå, ïîýòîìó ïîêëîííèêàì ÄÎÑ ïðèä¸òñÿ âíåñòè â .shell ñòðîêè òàêîãî âèäà
1)  ¡®â ¥â á奬  ¯á¥¢¤®­¨¬®¢ (¤® 256 ª®¬ ­¤)
- ¯à®á¬®âà ¯® ª®¬ ­¤¥ alias (¡¥§ ¯ à ¬¥â஢)
- ¤®¡ ¢«¥­¨¥ ¯á¥¢¤®­¨¬  ª®¬ ­¤ë á ª« ¢¨ âãàë ¨«¨ ¢ áªà¨¯â¥ (¢ ⮬ ç¨á«¥ ¨ .shell): alias ­®¢ ï ª®¬ ­¤  = áâ à ï ª®¬ ­¤ 
- ª®¬ ­¤ë ॣ¨áâ஧ ¢¨á¨¬ë¥, ¯®í⮬㠯®ª«®­­¨ª ¬ „Ž‘ ¯à¨¤ñâáï ¢­¥á⨠¢ .shell áâப¨ â ª®£® ¢¨¤ 
alias dir = ls
alias DIR = ls
alias Dir = ls
alias DIr = ls
è ò.ä.
- âñòðîåííûå êîìàíäû ïåðåíàçâàòü íåâîçìîæíî, íàïðèìåð, áåññìûñëåííà êîìàíäà:
¨ â.¤.
- ¢áâ஥­­ë¥ ª®¬ ­¤ë ¯¥à¥­ §¢ âì ­¥¢®§¬®¦­®, ­ ¯à¨¬¥à, ¡¥áá¬ëá«¥­­  ª®¬ ­¤ :
alias ls=somecommand
- ïðè îòëàäêå ïîëó÷àë ñòðàííóþ èíôîðìàöèþ, íî òàê êàê ó ìåíÿ âñ¸ ðàáîòàåò, òî ïîêà èçìåíåíèé âíîñèòü íå ïëàíèðóþ
- ¯à¨ ®â« ¤ª¥ ¯®«ãç « áâà ­­ãî ¨­ä®à¬ æ¨î, ­® â ª ª ª ã ¬¥­ï ¢áñ à ¡®â ¥â, â® ¯®ª  ¨§¬¥­¥­¨© ¢­®á¨âì ­¥ ¯« ­¨àãî
 
2) Òåïåðü øåëë ìîæíî çàïóñêàòü ñ ïàðàìåòðîì (èç ñàìîãî ñåáÿ, íàïðèìåð)
- ñèíòàêñèñ:
shell êîìàíäà
- ïðèìåð:
2) ’¥¯¥àì 襫« ¬®¦­® § ¯ã᪠âì á ¯ à ¬¥â஬ (¨§ á ¬®£® ᥡï, ­ ¯à¨¬¥à)
- ᨭ⠪á¨á:
shell ª®¬ ­¤ 
- ¯à¨¬¥à:
shell /sys/somescript
- ïðè ýòîì .shell íå çàïóñêàåòñÿ
- ¯à¨ í⮬ .shell ­¥ § ¯ã᪠¥âáï
 
3) Ðåàëèçîâàíà êîìàíäà more
- ïðîñìîòð òåêñòîâûõ è áèíàðíûõ ôàéëîâ (âðîäå áû çàäà÷à ïðîñòàÿ, íî ïðèøëîñü ïîâîçèòüñÿ ñ óïðàâëÿþùèìè ñèìâîëàìè)
- î÷åíü íå ðåêîìåíäóåòñÿ ïðîñìàòðèâàòü áîëüøèå ôàéëû
3) ¥ «¨§®¢ ­  ª®¬ ­¤  more
- ¯à®á¬®âà ⥪á⮢ëå ¨ ¡¨­ à­ëå ä ©«®¢ (¢à®¤¥ ¡ë § ¤ ç  ¯à®áâ ï, ­® ¯à¨è«®áì ¯®¢®§¨âìáï á ã¯à ¢«ïî騬¨ ᨬ¢®« ¬¨)
- ®ç¥­ì ­¥ ४®¬¥­¤ã¥âáï ¯à®á¬ âਢ âì ¡®«ì訥 ä ©«ë
 
 
Shell 0.3 // 07.08.2008 // Albom
=======================================
1) Âîçìîæíîñòü çàïóñêà ñêðèïòîâ
* êàæäàÿ ñòðîêà äîëæíà ïðåäñòàâëÿåò ñîáîé êîìàíäó
* ñòðîêîé ñ÷èòàåòñÿ íàáîð ñèìâîëîâ, êîòîðûé çàêàí÷èâàåòñÿ CR+LF (Windows) èëè LF(UNIX) èëè CR(Mac)
* åñëè ñòðîêà íà÷èíàåòñÿ ñ #, òî âñÿ ñòðîêà (ò.å. êîììåíòàðèé) èãíîðèðóåòñÿ
* ñêðèïò äîëæåí íà÷èòàòüñÿ ñ #SHS
* ïðè çàïóñêå øåëëà àâòîìàòè÷åñêè çàïóñêàåòñÿ ñêðèïò .shell
1) ‚®§¬®¦­®áâì § ¯ã᪠ áªà¨¯â®¢
* ª ¦¤ ï áâப  ¤®«¦­  ¯à¥¤áâ ¢«ï¥â ᮡ®© ª®¬ ­¤ã
* áâப®© áç¨â ¥âáï ­ ¡®à ᨬ¢®«®¢, ª®â®àë© § ª ­ç¨¢ ¥âáï CR+LF (Windows) ¨«¨ LF(UNIX) ¨«¨ CR(Mac)
* ¥á«¨ áâப  ­ ç¨­ ¥âáï á #, â® ¢áï áâப  (â.¥. ª®¬¬¥­â à¨©) ¨£­®à¨àã¥âáï
* áªà¨¯â ¤®«¦¥­ ­ ç¨â âìáï á #SHS
* ¯à¨ § ¯ã᪥ 襫«   ¢â®¬ â¨ç¥áª¨ § ¯ã᪠¥âáï áªà¨¯â .shell
 
2) Èñòîðèÿ èç 5 (ìîæíî èçìåíèòü ïðè êîìïèëÿöèè) ââåä¸ííûõ êîìàíä
* ïåðåìåùåíèå ïî èñòîðèè - UP/DOWN
2) ˆáâ®à¨ï ¨§ 5 (¬®¦­® ¨§¬¥­¨âì ¯à¨ ª®¬¯¨«ï樨) ¢¢¥¤ñ­­ëå ª®¬ ­¤
* ¯¥à¥¬¥é¥­¨¥ ¯® ¨áâ®à¨¨ - UP/DOWN
 
3) Êîìàíäà alias, êîòîðàÿ ïîçâîëÿåò ââîäèòü ñèíîíèìû äëÿ êîìàíä
* äî 256 (ìîæíî èçìåíèòü ïðè êîìïèëÿöèè) ñèíîíèìîâ
* ïîêà ðàáîòàåò òîëüêî äîáàâëåíèå è ïðîñìîòð ñèíîíèìîâ, à îòðàáîòêà ïîêà íå ðåàëèçîâàíà
3) Š®¬ ­¤  alias, ª®â®à ï ¯®§¢®«ï¥â ¢¢®¤¨âì ᨭ®­¨¬ë ¤«ï ª®¬ ­¤
* ¤® 256 (¬®¦­® ¨§¬¥­¨âì ¯à¨ ª®¬¯¨«ï樨) ᨭ®­¨¬®¢
* ¯®ª  à ¡®â ¥â ⮫쪮 ¤®¡ ¢«¥­¨¥ ¨ ¯à®á¬®âà ᨭ®­¨¬®¢,   ®âà ¡®âª  ¯®ª  ­¥ ॠ«¨§®¢ ­ 
 
 
Shell 0.2 // 04.08.2008 // Albom
=======================================
* äîáàâèë íîâûå ôóíêöèè
* íàïèñàë ñîáñòâåííóþ ïðîöåäóðó ââîäà êîìàíäû
* ¤®¡ ¢¨« ­®¢ë¥ ä㭪樨
* ­ ¯¨á « ᮡá⢥­­ãî ¯à®æ¥¤ãàã ¢¢®¤  ª®¬ ­¤ë
 
 
Shell 0.11 // 01.08.2008 // Albom
=======================================
* Äîáàâèë êîìàíäû free è reboot, âí¸ñ íåêîòîðûå èçìåíåíèÿ, èñïðàâèë íàéäåííûå îøèáêè
* „®¡ ¢¨« ª®¬ ­¤ë free ¨ reboot, ¢­ñá ­¥ª®â®àë¥ ¨§¬¥­¥­¨ï, ¨á¯à ¢¨« ­ ©¤¥­­ë¥ ®è¨¡ª¨
 
 
Shell 0.1 // 29.07.2008 // Albom
=======================================
* Ðåàëèçîâàíû (íå ïîëíîñòüþ) êîìàíäû: about, cd, date, echo, exit, help, kill, ls, ps, pwd, ver
* Ïðè çàïóñêå ïðîãðàììû (åñëè íå óêàçàí ïîëíûé ïóòü) îíà èùåòñÿ â êàòàëîãå /rd/1 è òåêóùåì êàòàëîãå
* ¥ «¨§®¢ ­ë (­¥ ¯®«­®áâìî) ª®¬ ­¤ë: 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 (ñ ïàðàìåòðîì è áåç) - ïîìîùü
* ¥ «¨§®¢ « ª®¬ ­¤ë:
exit - ¢ë室
ls (á ¯ à ¬¥â஬ ¨ ¡¥§) - ¢ë¢®¤ ᯨ᪠ ¤¨à¥ªâ®à¨¨
pwd - ⥪ã騩 ª â «®£
ps - ᯨ᮪ ¯à®æ¥áᮢ ¨ ¨å PID
kill - § ¢¥àè¨âì ¯à®æ¥áá ¯® PID
help (á ¯ à ¬¥â஬ ¨ ¡¥§) - ¯®¬®éì
 
Shell 0.01 // 27.07.2008 // Albom
=======================================
* Ðåøèë íàïèñàòü ôóíêöèîíàëüíûé øåëë íà Ñè ñ èñïîëüçîâàíèåì console.obj
* Ïîêà ñäåëàë ôóíêöèþ îòäåëåíèÿ êîìàíäû è ïàðàìåòðîâ, à òàêæå ðåàëèçîâàë êîìàíäû help (ïîêà áåç ïàðàìåòðîâ), ver è exit
* ¥è¨« ­ ¯¨á âì ä㭪樮­ «ì­ë© 襫« ­  ‘¨ á ¨á¯®«ì§®¢ ­¨¥¬ console.obj
* ®ª  ᤥ« « äã­ªæ¨î ®â¤¥«¥­¨ï ª®¬ ­¤ë ¨ ¯ à ¬¥â஢,   â ª¦¥ ॠ«¨§®¢ « ª®¬ ­¤ë help (¯®ª  ¡¥§ ¯ à ¬¥â஢), ver ¨ exit
 
/programs/system/shell/all.h
40,7 → 40,6
#include "cmd/cmd_sleep.c"
#include "cmd/cmd_shutdown.c"
#include "cmd/cmd_uptime.c"
#include "cmd/cmd_killall.c"
#include "cmd/cmd_history.c"
#include "cmd/cmd_cp.c"
 
/programs/system/shell/cmd/cmd_killall.c
File deleted
/programs/system/shell/cmd/cmd_cd.c
12,7 → 12,7
#elif LANG_RUS
printf(" cd <äèðåêòîðèÿ>\n\r");
#endif
return FALSE;
return TRUE;
}
 
if ( 0 == strcmp(dir, ".") )
/programs/system/shell/cmd/cmd_cp.c
1,15 → 1,4
 
void print_error(void)
{
 
#if LANG_ENG
printf(" Error!\n\r");
#elif LANG_RUS
printf(" Žè¨¡ª !\n\r");
#endif
 
}
 
int cmd_cp(char param[])
{
 
40,7 → 29,7
 
parameters_free(argc, argv);
 
return FALSE;
return TRUE;
}
 
filename_in = (char*) malloc(4096);
80,12 → 69,10
result = kol_file_70(&k70_in); // ¯®«ãç ¥¬ ¨­ä®à¬ æ¨î ® ä ©«¥
if ( 0 != result )
{
print_error();
 
parameters_free(argc, argv);
free(filename_in);
free(filename_out);
return FALSE;
return TRUE;
}
 
filesize = bdvk.p32[0]; // ¯®«ãç ¥¬ à §¬¥à ä ©«  (®£à ­¨ç¥­¨¥ - 4 ƒ¡ ©â )
115,8 → 102,6
result = kol_file_70(&k70_in); // ç⥭¨¥
if (result != 0)
{
print_error();
 
parameters_free(argc, argv);
free(filename_in);
free(filename_out);
128,8 → 113,6
result = kol_file_70(&k70_out); // § ¯¨áì
if (result != 0)
{
print_error();
 
parameters_free(argc, argv);
free(filename_in);
free(filename_out);
152,8 → 135,6
result = kol_file_70(&k70_in); // ç⥭¨¥
if (result != 0)
{
print_error();
 
parameters_free(argc, argv);
free(filename_in);
free(filename_out);
165,8 → 146,6
result = kol_file_70(&k70_out); // § ¯¨áì
if (result != 0)
{
print_error();
 
parameters_free(argc, argv);
free(filename_in);
free(filename_out);
177,7 → 156,6
}
 
 
 
parameters_free(argc, argv);
free(filename_in);
free(filename_out);
/programs/system/shell/cmd/cmd_date.c
29,3 → 29,4
 
return TRUE;
}
 
/programs/system/shell/cmd/cmd_echo.c
4,3 → 4,4
printf("%s\n\r", text);
return TRUE;
}
 
/programs/system/shell/cmd/cmd_exit.c
6,3 → 6,4
kol_exit();
return TRUE;
}
 
/programs/system/shell/cmd/cmd_free.c
16,3 → 16,4
return TRUE;
}
 
/programs/system/shell/cmd/cmd_help.c
38,3 → 38,4
 
return FALSE;
}
 
/programs/system/shell/cmd/cmd_history.c
11,3 → 11,4
 
return TRUE;
}
 
/programs/system/shell/cmd/cmd_kill.c
1,22 → 1,32
 
 
int cmd_kill(char process[])
int cmd_kill(char param[])
{
 
unsigned proc;
unsigned process;
int result;
int i;
 
if (NULL == process)
if ( strlen(param) == 0 )
{
printf(" kill <PID>\n\r");
return FALSE;
return TRUE;
}
 
if (!strcmp(param, "all"))
{
for (i = 2;i<256;i++)
{
kol_kill_process(i);
}
return TRUE;
}
else
{
proc = _atoi(process);
if ( 0 != proc )
process = _atoi(param);
if ( 0 != process )
{
result = kol_process_kill_pid(proc);
result = kol_process_kill_pid(process);
if (result < 0)
return FALSE;
else
25,3 → 35,4
}
 
}
 
/programs/system/shell/cmd/cmd_ls.c
47,3 → 47,4
free((void*)k70.p16);
return TRUE;
}
 
/programs/system/shell/cmd/cmd_mkdir.c
13,7 → 13,7
#elif LANG_RUS
printf(" mkdir <¤¨à¥ªâ®à¨ï>\n\r");
#endif
return FALSE;
return TRUE;
}
 
 
46,3 → 46,4
return FALSE;
 
}
 
/programs/system/shell/cmd/cmd_more.c
16,7 → 16,7
#elif LANG_RUS
printf (" more <¨¬ï ä ©« >\n\r");
#endif
return FALSE;
return TRUE;
}
 
if ( '/' == file[0])
93,3 → 93,4
printf ("\n\r");
return TRUE;
}
 
/programs/system/shell/cmd/cmd_ps.c
26,3 → 26,4
return TRUE;
 
}
 
/programs/system/shell/cmd/cmd_pwd.c
4,3 → 4,4
printf (" %s%c\n\r", cur_dir, cur_dir[strlen(cur_dir)-1]=='/'?' ':'/' );
return TRUE;
}
 
/programs/system/shell/cmd/cmd_reboot.c
7,3 → 7,4
kol_system_end(3);
return TRUE;
}
 
/programs/system/shell/cmd/cmd_rm.c
13,7 → 13,7
#elif LANG_RUS
printf (" rm <¨¬ï ä ©« >\n\r");
#endif
return FALSE;
return TRUE;
}
 
if ( '/' == file[0])
52,3 → 52,4
return FALSE;
 
}
 
/programs/system/shell/cmd/cmd_rmdir.c
13,7 → 13,7
#elif LANG_ENG
printf(" rmdir <¤¨à¥ªâ®à¨ï>\n\r");
#endif
return FALSE;
return TRUE;
}
 
if ( ( 0 == strcmp(dir, ".") ) || ( 0 == strcmp(dir, "..") ) || ( 0 == strcmp(cur_dir, "/")) )
48,3 → 48,4
return FALSE;
 
}
 
/programs/system/shell/cmd/cmd_shutdown.c
4,3 → 4,4
kol_system_end(2);
return TRUE;
}
 
/programs/system/shell/cmd/cmd_sleep.c
4,9 → 4,17
int delay;
 
if (!strlen(param))
return FALSE;
{
#if LANG_ENG
printf(" sleep <time in the 1/100 of second>\n\r");
#elif LANG_RUS
printf(" sleep <интервал в сотых доля секунды>\n\r");
#endif
return TRUE;
}
 
delay = _atoi(param);
kol_sleep((unsigned)delay);
return TRUE;
}
 
/programs/system/shell/cmd/cmd_touch.c
13,7 → 13,7
#elif LANG_RUS
printf(" touch <¨¬ï ä ©« >\n\r");
#endif
return FALSE;
return TRUE;
}
 
if ( ( 0 == strcmp(file, ".") ) || ( 0 == strcmp(file, "..") ) || ( 0 == strcmp(cur_dir, "/")) )
/programs/system/shell/cmd/cmd_uptime.c
17,3 → 17,4
#endif
return TRUE;
}
 
/programs/system/shell/cmd/cmd_ver.c
1,6 → 1,7
 
int cmd_ver(char param[])
{
 
if (!strcmp(param, "kernel"))
{
char *kvbuf;
63,3 → 64,4
printf (" Shell v%s\n\r", SHELL_VERSION);
return TRUE;
}
 
/programs/system/shell/locale/eng/globals.h
12,8 → 12,7
{"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},
{"kill", " Stops a running process. Usage:\n\r kill <PID of process>\n\r kill all\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},
28,3 → 27,4
{"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 ver cpu ;information about CPU\n\r", &cmd_ver},
};
 
/programs/system/shell/locale/rus/globals.h
12,8 → 12,7
{"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},
{"kill", " “¡¨¢ ¥â ¯à®æ¥áá. ˆá¯®«ì§®¢ ­¨¥:\n\r kill <PID ¯à®æ¥áá >\n\r kill all\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},
28,3 → 27,4
{"uptime", " ®ª §ë¢ ¥â uptime\n\r", &cmd_uptime},
{"ver", " ®ª §ë¢ ¥â ¢¥àá¨î. ˆá¯®«ì§®¢ ­¨¥:\n\r ver ;¢¥àá¨ï Shell\n\r ver kernel ;¢¥àá¨ï ¨ ­®¬¥à ॢ¨§¨¨ ï¤à  KolibriOS\n\r ver cpu ;¨­ä®à¬ æ¨ï ® ¯à®æ¥áá®à¥\n\r", &cmd_ver},
};
 
/programs/system/shell/modules/module_alias.c
124,3 → 124,4
}
 
/// ===========================================================
 
/programs/system/shell/modules/module_command.c
89,8 → 89,8
if (CMD_POS < 255)
{
if ( kol_key_control() & 0x40 ) // åñëè âêëþ÷¸í CapsLock
if ( (kol_key_control() & 1) || (kol_key_control() & 2)) // åñëè íàæàòû øèôòû
if ( kol_key_control() & 0x40 ) // ¥á«¨ ¢ª«îçñ­ CapsLock
if ( (kol_key_control() & 1) || (kol_key_control() & 2)) // ¥á«¨ ­ ¦ âë è¨äâë
key = tolower(key);
else
key = toupper(key);
102,7 → 102,7
break;
};
}
else // îáðàáîòêà ðàñøèðåííûõ êëàâèø
else // ®¡à ¡®âª  à áè¨à¥­­ëå ª« ¢¨è
{
key = (key>>8)&0xff;
// printf ("%d\n\r", key);
209,7 → 209,7
 
/// ===========================================================
 
typedef void (*handler1_t)(char* arg);
typedef int (*handler1_t)(char* arg);
 
/// ===========================================================
 
219,6 → 219,7
char args[256];
unsigned arg;
int i;
int result;
 
trim(CMD);
arg = command_get_cmd(cmd);
233,7 → 234,15
{
if (!strcmp(cmd, COMMANDS[i].name))
{
((handler1_t)COMMANDS[i].handler)(args);
result = ((handler1_t)COMMANDS[i].handler)(args);
if (result != TRUE)
{
#if LANG_ENG
printf(" Error!\n\r");
#elif LANG_RUS
printf(" Žè¨¡ª !\n\r");
#endif
}
return;
}
}
251,3 → 260,4
}
 
/// ===========================================================
 
/programs/system/shell/modules/module_executable.c
65,3 → 65,4
}
 
/// ===========================================================
 
/programs/system/shell/modules/module_parameters.c
89,3 → 89,4
}
 
/// ===========================================================
 
/programs/system/shell/modules/module_program.c
14,3 → 14,4
 
return kol_file_70(&k70);
}
 
/programs/system/shell/modules/module_program_console.c
93,3 → 93,4
 
return 9;
}
 
/programs/system/shell/modules/module_script.c
100,3 → 100,4
}
 
/// ===========================================================