forked from KolibriOS/kolibrios
4ed6be1119
git-svn-id: svn://kolibrios.org@3245 a494cfbc-eb01-0410-851d-a64ba20cac60
173 lines
7.3 KiB
Plaintext
173 lines
7.3 KiB
Plaintext
|
||
Shell 0.6 // 16.02.2013 // Albom
|
||
+ Добавлена возможность запускать программы, имена которых или путь к которым содержат пробелы. Имя программы (возможно с путём к ней) для этого необходимо заключать в кавычки. Т.е. наконец-то можно запустить программу из /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
|
||
|
||
|
||
Shell 0.5.3 // 19.04.2012 // Albom
|
||
=======================================
|
||
* Исправление в команде pwd
|
||
|
||
|
||
Shell 0.5.2 // 16.04.2012 // Albom
|
||
=======================================
|
||
* Исправление в команде 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 строчки)
|
||
* Исправления в текстовых строках
|
||
|
||
|
||
Shell 0.4.52 // 25.10.2010 // Pterox
|
||
=======================================
|
||
* Добавлена команда "killall" - убивает все процессы кроме OS/IDLE.
|
||
* Фиксы
|
||
|
||
|
||
Shell 0.4.51 // 21.10.2010 // Pterox
|
||
=======================================
|
||
* Команда "turnoff" переименована в "shutdown", "kerver" удалена - теперь её заменяет "ver kernel"; фиксы.
|
||
|
||
|
||
Shell 0.4.5 // 19.10.2010 // Pterox
|
||
=======================================
|
||
Программа теперь многоязыковая (английский, и русский язык). Программа полностью русифицированна.
|
||
* Команда "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) внедрить простую стековую машину для вычислений с вещественными числами
|
||
|
||
|
||
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
|
||
- просмотр текстовых и бинарных файлов (вроде бы задача простая, но пришлось повозиться с управляющими символами)
|
||
- очень не рекомендуется просматривать большие файлы
|
||
|
||
|
||
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
|
||
|