kolibrios-fun/programs/system/shell/History.txt
Rustem Gimadutdinov (rgimad) 68cf3e4293 SHELL 0.8.2
- big refactoring, now uses libc.obj
- added kfetch command

git-svn-id: svn://kolibrios.org@8827 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-06-12 21:34:41 +00:00

268 lines
15 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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'
Shell 0.7.6 // 06.02.2017 // Siemargl
* Файловые операции используют 64-bit размеры файлов.
cp <file> <dest> теперь понимает, если <dest> - каталог
cp использует буфер 1Мб, или не более половины свободной памяти
Shell 0.7.5 // 06.01.2017 // Siemargl
* Мелкие багфиксы, изменена логика обработки стрелок вверх/вниз, чтобы как у всех
Добавлена команда waitfor и вариант ps с параметром
Shell 0.7.4 // 23.01.2014 // Albom
* Работа с буфером обмена (копирование 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 0.7.1 // 19.10.2013 // Albom
* Исправлена ошибка, связанная с зависанием при попытке чтения пустой истории команд (по клавишам Up и Down)
Shell 0.7.0 // 13.10.2013 // Albom
* Переработан модуль ввода команды (добавлена обработка клавиш "влево", "вправо", Del)
* Мелкие исправления
Shell 0.6.4 // 09.10.2013 // Leency
* Поддержка относительных путей в скриптах
Shell 0.6.3 // 20.09.2013 // Albom
* msvc-style атрибуты для отключения выравнивания в структурах (спасибо CleverMouse и Kirakishou!)
Shell 0.6.2 // 24.02.2013 // Albom
* Добавлена обработка управляющих символов (\n, \t, \", \', \\, \?)
* Мелкие исправления
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
* Исправления в пакетных файлах сборки
+ Добавлен пример консольного приложения на ассемблере и пакетный файл для его сборки
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