1,228 → 1,267 |
Shell 0.8.2 // 13.06.2021 // rgimad |
* use libj.obj instead of built-in "libc" |
* big refactoring: |
- fix indentation |
- string constants moved to locale/.../globals.h files |
* add new command - kfetch |
it is like neofetch for KolibriOS |
prints logo and main system information. |
* other fixes |
|
Shell 0.8.1 // 14.04.2020 - 01.04.2021 // rgimad, turbocat, Kenshin |
rgimad: |
* fixed bug with ctrl+v |
* added navigation in current string by Home, End |
* directory highlighting in ls command output |
* Now for incorrect scripts (which doesnt start with #SHS) shell says |
that they are incorrect, not "File not found". |
Also, translated comments from russian to english in two files. |
* added mv command |
* added ren command |
* now ls works also with relative pathes |
* fixed bug in strrchr |
* fixed bug with cd ../ |
* fixed cd . and cd ./ behavior |
* added output redirection to file (> >>) for echo command |
e.g. echo "<html>">123.txt ; echo a b c >> y.txt |
|
turbocat: |
* Added new API: SC_GET_PID |
* Fixed data type pid - unsigned int. |
* Fixed cmd_ps output pid; |
* Added new SC_PING api |
* Renamed from SC_GET_PID to SC_PID |
* added pkill command |
|
Kenshin: |
* shell.inc now suports sc_ping & sc_pid functions |
* update docs |
|
Shell 0.7.7 // 06.02.2017 // Leency |
* help ⥯¥àì ¢ë¢®¤¨â ᯨ᮪ ª®¬¬ ¤ ¢ âਠª®«®ª¨ |
* ps ⥯¥àì ¢ë¢®¤¨â à §¬¥à , ¨á¯®«ì§ã¥¬ë© ¯à®æ¥áᮬ |
* ls ⥯¥àì ¢ë¢®¤¨â ¢á¥ ä ©«ë ¥ ¢ ®¤ã, ¢ ¥áª®«ìª® ª®«®®ª |
à §¬¥à ª®«®®ª à áç¨âë¢ ¥âáï ¨áå®¤ï ¨§ á ¬®£® ¤«¨®£® ¨¬¥¨ ä ©« ¢ ¯ ¯ª¥ |
áâ àë© ¢ë¢®¤ ᯨ᪮¬ ¯® ¯à¥¦¥¬ã ¤®áâ㯥 ç¥à¥§ ª«îç '-1' |
* help теперь выводит список комманд в три колонки |
* ps теперь выводит размер ОЗУ, используемый процессом |
* ls теперь выводит все файлы не в одну, а в несколько колонок |
размер колонок расчитывается исходя из самого длинного имени файла в папке |
старый вывод списком по прежнему доступен через ключ '-1' |
|
Shell 0.7.6 // 06.02.2017 // Siemargl |
* ©«®¢ë¥ ®¯¥à 樨 ¨á¯®«ì§ãîâ 64-bit à §¬¥àë ä ©«®¢. |
cp <file> <dest> ⥯¥àì ¯®¨¬ ¥â, ¥á«¨ <dest> - ª â «®£ |
cp ¨á¯®«ì§ã¥â ¡ãä¥à 1¡, ¨«¨ ¥ ¡®«¥¥ ¯®«®¢¨ë ᢮¡®¤®© ¯ ¬ï⨠|
* Файловые операции используют 64-bit размеры файлов. |
cp <file> <dest> теперь понимает, если <dest> - каталог |
cp использует буфер 1Мб, или не более половины свободной памяти |
|
Shell 0.7.5 // 06.01.2017 // Siemargl |
* ¥«ª¨¥ ¡ £ä¨ªáë, ¨§¬¥¥ «®£¨ª ®¡à ¡®âª¨ áâ५®ª ¢¢¥àå/¢¨§, çâ®¡ë ª ª ã ¢á¥å |
®¡ ¢«¥ ª®¬ ¤ waitfor ¨ ¢ ਠâ ps á ¯ à ¬¥â஬ |
* Мелкие багфиксы, изменена логика обработки стрелок вверх/вниз, чтобы как у всех |
Добавлена команда waitfor и вариант ps с параметром |
|
Shell 0.7.4 // 23.01.2014 // Albom |
* ¡®â á ¡ãä¥à®¬ ®¡¬¥ (ª®¯¨à®¢ ¨¥ Ctrl+C ¨ ¢áâ ¢ª Ctrl+V áâப¨ 楫¨ª®¬) |
* Работа с буфером обмена (копирование Ctrl+C и вставка Ctrl+V строки целиком) |
|
|
Shell 0.7.3 // 28.11.2013 // Albom |
* á¯à ¢«¥ ®è¨¡ª á ᨬ¢®«®¬ % ¢ ¨áâ®à¨¨ ª®¬ ¤ |
* Исправлена ошибка с символом % в истории команд |
|
|
Shell 0.7.2 // 26.10.2013 // Albom |
* ©« .shell ¯¥à¥¥á¥ ¢ /sys/settings/ |
* á¯à ¢«¥ ª®¬ ¤ "cd .." |
* Файл .shell перенесен в /sys/settings/ |
* Исправлена команда "cd .." |
|
|
Shell 0.7.1 // 19.10.2013 // Albom |
* á¯à ¢«¥ ®è¨¡ª , á¢ï§ ï á § ¢¨á ¨¥¬ ¯à¨ ¯®¯ë⪥ çâ¥¨ï ¯ãá⮩ ¨áâ®à¨¨ ª®¬ ¤ (¯® ª« ¢¨è ¬ Up ¨ Down) |
* Исправлена ошибка, связанная с зависанием при попытке чтения пустой истории команд (по клавишам Up и Down) |
|
|
Shell 0.7.0 // 13.10.2013 // Albom |
* ¥à¥à ¡®â ¬®¤ã«ì ¢¢®¤ ª®¬ ¤ë (¤®¡ ¢«¥ ®¡à ¡®âª ª« ¢¨è "¢«¥¢®", "¢¯à ¢®", Del) |
* ¥«ª¨¥ ¨á¯à ¢«¥¨ï |
* Переработан модуль ввода команды (добавлена обработка клавиш "влево", "вправо", Del) |
* Мелкие исправления |
|
|
Shell 0.6.4 // 09.10.2013 // Leency |
* ®¤¤¥à¦ª ®â®á¨â¥«ìëå ¯ã⥩ ¢ áªà¨¯â å |
* Поддержка относительных путей в скриптах |
|
|
Shell 0.6.3 // 20.09.2013 // Albom |
* msvc-style âਡãâë ¤«ï ®âª«îç¥¨ï ¢ëà ¢¨¢ ¨ï ¢ áâàãªâãà å (ᯠᨡ® CleverMouse ¨ Kirakishou!) |
* msvc-style атрибуты для отключения выравнивания в структурах (спасибо CleverMouse и Kirakishou!) |
|
|
Shell 0.6.2 // 24.02.2013 // Albom |
* ®¡ ¢«¥ ®¡à ¡®âª ã¯à ¢«ïîé¨å ᨬ¢®«®¢ (\n, \t, \", \', \\, \?) |
* ¥«ª¨¥ ¨á¯à ¢«¥¨ï |
* Добавлена обработка управляющих символов (\n, \t, \", \', \\, \?) |
* Мелкие исправления |
|
|
Shell 0.6.1 // 17.02.2013 // Albom |
* à®áâ ï ®¡à ¡®âª ®è¨¡®ª ¢ãâà¥¨å ª®¬ ¤ |
* ®¬ ¤ killall âà áä®à¬¨à®¢ ¢ ¯ à ¬¥âà all ª®¬ ¤ë kill |
* §¬¥¥ ª®¤¨à®¢ª ä ©« History.txt á 1251 866 |
* Простая обработка ошибок внутренних команд |
* Команда 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 |
|