2021-06-12 23:34:41 +02:00
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
2024-05-29 13:30:32 +02:00
* Now for incorrect scripts (which doesn't start with #SHS) shell says
2021-06-12 23:34:41 +02:00
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
2017-09-27 20:44:15 +02:00
Shell 0.7.7 // 06.02.2017 // Leency
2021-06-12 23:34:41 +02:00
* help теперь выводит список комманд в три колонки
* ps теперь выводит размер О З У , используемый процессом
* ls теперь выводит все файлы не в одну, а в несколько колонок
размер колонок расчитывается исходя из самого длинного имени файла в папке
старый вывод списком по прежнему доступен через ключ '-1'
2017-09-27 20:44:15 +02:00
2017-02-06 13:35:58 +01:00
Shell 0.7.6 // 06.02.2017 // Siemargl
2021-06-12 23:34:41 +02:00
* Файловые операции используют 64-bit размеры файлов.
cp <file> <dest> теперь понимает, если <dest> - каталог
2024-05-29 13:30:32 +02:00
cp использует буфер 1М б , или не более половины свободной памяти
2017-02-06 13:35:58 +01:00
2017-01-06 17:12:57 +01:00
Shell 0.7.5 // 06.01.2017 // Siemargl
2021-06-12 23:34:41 +02:00
* Мелкие багфиксы, изменена логика обработки стрелок вверх/вниз, чтобы как у всех
Добавлена команда waitfor и вариант ps с параметром
2017-01-01 23:28:50 +01:00
2014-01-23 08:41:40 +01:00
Shell 0.7.4 // 23.01.2014 // Albom
2021-06-12 23:34:41 +02:00
* Работа с буфером обмена (копирование Ctrl+C и вставка Ctrl+V строки целиком)
2014-01-23 08:41:40 +01:00
2013-11-28 20:08:52 +01:00
Shell 0.7.3 // 28.11.2013 // Albom
2021-06-12 23:34:41 +02:00
* Исправлена ошибка с символом % в истории команд
2013-11-28 20:08:52 +01:00
2013-10-26 20:53:48 +02:00
Shell 0.7.2 // 26.10.2013 // Albom
2021-06-12 23:34:41 +02:00
* Файл .shell перенесен в /sys/settings/
* Исправлена команда "cd .."
2013-10-26 20:53:48 +02:00
2013-10-19 09:13:02 +02:00
Shell 0.7.1 // 19.10.2013 // Albom
2021-06-12 23:34:41 +02:00
* Исправлена ошибка, связанная с зависанием при попытке чтения пустой истории команд (по клавишам Up и Down)
2013-10-19 09:13:02 +02:00
2013-10-13 12:47:59 +02:00
Shell 0.7.0 // 13.10.2013 // Albom
2021-06-12 23:34:41 +02:00
* Переработан модуль ввода команды (добавлена обработка клавиш "влево", "вправо", Del)
* Мелкие исправления
2013-10-13 12:47:59 +02:00
Shell 0.6.4 // 09.10.2013 // Leency
2021-06-12 23:34:41 +02:00
* Поддержка относительных путей в скриптах
2013-10-13 12:47:59 +02:00
2013-09-20 20:43:52 +02:00
Shell 0.6.3 // 20.09.2013 // Albom
2021-06-12 23:34:41 +02:00
* msvc-style атрибуты для отключения выравнивания в структурах (спасибо CleverMouse и Kirakishou!)
2013-09-20 20:43:52 +02:00
2013-02-16 12:25:37 +01:00
2013-02-24 11:33:37 +01:00
Shell 0.6.2 // 24.02.2013 // Albom
2021-06-12 23:34:41 +02:00
* Добавлена обработка управляющих символов (\n, \t, \", \', \\, \?)
* Мелкие исправления
2013-02-24 11:33:37 +01:00
2013-02-17 16:22:51 +01:00
Shell 0.6.1 // 17.02.2013 // Albom
2021-06-12 23:34:41 +02:00
* Простая обработка ошибок внутренних команд
* Команда killall трансформирована в параметр all команды kill
* Изменена кодировка файла History.txt с 1251 на 866
2013-02-17 16:22:51 +01:00
2013-02-16 12:25:37 +01:00
Shell 0.6 // 16.02.2013 // Albom
2021-06-12 23:34:41 +02:00
+ Добавлена возможность запускать программы, имена которых или путь к которым содержат пробелы. Имя программы (возможно с путём к ней) для этого необходимо заключать в кавычки. Т .е . наконец-то можно запустить программу из /rd/1/File managers, не переходя в неё
+ Добавлена функция разделения строковой переменной на int argc, char* argv[], что означает возможность улучшения команд (обработка нескольких параметров)
+ Добавлена команда cp (копирование файла). Принимает обязательно два параметра - имя файла-источника и имя файла-результата. Имена могут быть краткими (в текущем каталоге), так и с полным путём (должны начинаться с /). Ограничение на размер файла - 4 Гбайта
* Исправлена кодировка в сообщении о б ошибке в консольном приложении
* Клавиши истории (вверх и вниз) поменяны между собой
* Количество команд в истории увеличено с пяти до десяти
* Уменьшено количество предупреждений при компиляции
* Команда ccpuid преобразована в параметр cpu команды ver
* Исправления в пакетных файлах сборки
+ Добавлен пример консольного приложения на ассемблере и пакетный файл для е г о сборки
2013-02-16 12:25:37 +01:00
2012-06-04 14:54:51 +02:00
Shell 0.5.4 // 04.06.2012 // Albom
=======================================
2021-06-12 23:34:41 +02:00
* Исправлен интерфейс исполняемых консольных приложений. Теперь они должны создавать буфер с именем pid-SHELL, где pid - идентификатор процесса без заглавных нулей
* Реинкарнированы команды ccpuid, free, killall
2024-05-29 13:30:32 +02:00
+ Добавлена команда history
2012-06-04 14:54:51 +02:00
Shell 0.5.3 // 19.04.2012 // Albom
=======================================
2024-05-29 13:30:32 +02:00
* Исправление в команде pwd
2012-06-04 14:54:51 +02:00
2012-04-16 12:40:07 +02:00
Shell 0.5.2 // 16.04.2012 // Albom
=======================================
2024-05-29 13:30:32 +02:00
* Исправление в команде ls
* Незначительные другие исправления
2012-04-16 12:40:07 +02:00
2012-04-15 09:59:47 +02:00
Shell 0.5.1 // 15.04.2012 // Albom
=======================================
2021-06-12 23:34:41 +02:00
* Некоторые незначительные исправления
2012-04-15 09:59:47 +02:00
2012-03-23 19:53:16 +01:00
Shell 0.5 // 23.03.2012 // Albom
=======================================
2021-06-12 23:34:41 +02:00
* Добавлена поддержка консольных приложений, которые общаются с шеллом через именованную область
2012-03-23 19:53:16 +01:00
2011-01-30 12:52:46 +01:00
Shell 0.4.6 // 30.01.2011 // Albom
2012-03-23 19:53:16 +01:00
=======================================
2021-06-12 23:34:41 +02:00
* Временно удалены команды killall и ccpuid (чтобы вернуть, необходимо раскомментировать 2 строчки)
* Исправления в текстовых строках
2011-01-30 12:52:46 +01:00
2012-03-23 19:53:16 +01:00
2010-10-24 16:32:14 +02:00
Shell 0.4.52 // 25.10.2010 // Pterox
=======================================
2021-06-12 23:34:41 +02:00
* Добавлена команда "killall" - убивает все процессы кроме OS/IDLE.
* Фиксы
2010-10-24 16:32:14 +02:00
2012-03-23 19:53:16 +01:00
2010-10-24 16:32:14 +02:00
Shell 0.4.51 // 21.10.2010 // Pterox
=======================================
2021-06-12 23:34:41 +02:00
* Команда "turnoff" переименована в "shutdown", "kerver" удалена - теперь её заменяет "ver kernel"; фиксы.
2010-10-21 06:53:41 +02:00
2012-03-23 19:53:16 +01:00
2010-10-21 01:58:36 +02:00
Shell 0.4.5 // 19.10.2010 // Pterox
=======================================
2021-06-12 23:34:41 +02:00
Программа теперь многоязыковая (английский, и русский язык). Программа полностью русифицированна.
* Команда "free" переименована в "memory" - для точности.
* Добавлены команды turnoff (выключить компьютер), kerver (версия ядра KolibriOS), uptime; reboot теперь может перезагружать ядро ("reboot kernel")
2010-10-21 01:58:36 +02:00
2012-03-23 19:53:16 +01:00
2010-10-21 01:58:36 +02:00
Shell 0.4.4 // 20.08.2010 // Albom
=======================================
2021-06-12 23:34:41 +02:00
1) шелл корректно завершается при закрытии окна
2) исправлено ещё 2 ошибки
3) добавлены 2 команды:
2024-05-29 13:30:32 +02:00
* sleep - ждать. параметр - время в сотых частях секунды. только целое число.
2021-06-12 23:34:41 +02:00
* ccpuid - вывод в консоль информации (пока скудно) о процессоре. пользы мало, но давно хотел с командой cpuid разобраться (в следующем семестре буду студентам курс читать, включил разбор команды в программу).
2010-10-21 01:58:36 +02:00
2024-05-29 13:30:32 +02:00
есть много идей. некоторые легко реализуются, некоторые сложнее. если интересно:
2021-06-12 23:34:41 +02:00
1) добавить переменную (одну!), в которую будет результат в текстовой форме (не то что возвращает функция) записываться. с ней можно будет работать из командной строки
2) внедрить простую стековую машину для вычислений с вещественными числами
2010-10-21 01:58:36 +02:00
2012-03-23 19:53:16 +01:00
2010-10-21 01:58:36 +02:00
Shell 0.4.3 // 20.08.2010 // Albom
=======================================
2021-06-12 23:34:41 +02:00
* Смесь версий 0.4.1 и 0.4.2. Теперь в архиве все исходные файлы, необходимые для компиляции (раньше использовались объектники с моими обёртками, исходники я с шеллом не выкладывал)
2010-10-21 01:58:36 +02:00
2012-03-23 19:53:16 +01:00
2010-10-21 01:58:36 +02:00
Shell 0.4.2 // 28.08.2009 // diamond
=======================================
2021-06-12 23:34:41 +02:00
* Добавил корректное завершение работы при закрытии окна консоли, работает только начиная с последней на данный момент версией библиотеки (лежит на svn, включена в ночную сборку). Перекомпилировал в VS2008 с LTCG, ещё пошаманил с оптимизацией по размеру
2010-10-21 01:58:36 +02:00
2012-03-23 19:53:16 +01:00
2010-10-21 01:58:36 +02:00
Shell 0.4.1 // 16.03.2009 // Albom
=======================================
2021-06-12 23:34:41 +02:00
* версия с исправленными ошибками.
* работает команда alias, добавлена команда clear.
2010-10-21 01:58:36 +02:00
2012-03-23 19:53:16 +01:00
2010-10-21 01:58:36 +02:00
Shell 0.4 // 12.08.2008 // Albom
=======================================
2021-06-12 23:34:41 +02:00
1) Работает схема псевдонимов (до 256 команд)
- просмотр по команде alias (без параметров)
- добавление псевдонима команды с клавиатуры или в скрипте (в том числе и .shell): alias новая команда = старая команда
- команды регистрозависимые, поэтому поклонникам ДОС придётся внести в .shell строки такого вида
2010-10-21 01:58:36 +02:00
alias dir = ls
alias DIR = ls
alias Dir = ls
alias DIr = ls
2021-06-12 23:34:41 +02:00
и т.д.
- встроенные команды переназвать невозможно, например, бессмысленна команда:
2010-10-21 01:58:36 +02:00
alias ls=somecommand
2021-06-12 23:34:41 +02:00
- при отладке получал странную информацию, но так как у меня всё работает, то пока изменений вносить не планирую
2010-10-21 01:58:36 +02:00
2021-06-12 23:34:41 +02:00
2) Теперь шелл можно запускать с параметром (из самого себя, например)
- синтаксис:
shell команда
- пример:
2010-10-21 01:58:36 +02:00
shell /sys/somescript
2021-06-12 23:34:41 +02:00
- при этом .shell не запускается
2010-10-21 01:58:36 +02:00
2021-06-12 23:34:41 +02:00
3) Реализована команда more
- просмотр текстовых и бинарных файлов (вроде бы задача простая, но пришлось повозиться с управляющими символами)
- очень не рекомендуется просматривать большие файлы
2010-10-21 01:58:36 +02:00
2012-03-23 19:53:16 +01:00
2010-10-21 01:58:36 +02:00
Shell 0.3 // 07.08.2008 // Albom
=======================================
2021-06-12 23:34:41 +02:00
1) Возможность запуска скриптов
2024-05-29 13:30:32 +02:00
* каждая строка должна представляет собой команду
2021-06-12 23:34:41 +02:00
* строкой считается набор символов, который заканчивается CR+LF (Windows) или LF(UNIX) или CR(Mac)
* если строка начинается с #, то вся строка (т.е . комментарий) игнорируется
* скрипт должен начитаться с #SHS
* при запуске шелла автоматически запускается скрипт .shell
2010-10-21 01:58:36 +02:00
2021-06-12 23:34:41 +02:00
2) История из 5 (можно изменить при компиляции) введённых команд
* перемещение по истории - UP/DOWN
2010-10-21 01:58:36 +02:00
2021-06-12 23:34:41 +02:00
3) Команда alias, которая позволяет вводить синонимы для команд
* до 256 (можно изменить при компиляции) синонимов
* пока работает только добавление и просмотр синонимов, а отработка пока не реализована
2010-10-21 01:58:36 +02:00
2012-03-23 19:53:16 +01:00
2010-10-21 01:58:36 +02:00
Shell 0.2 // 04.08.2008 // Albom
=======================================
2021-06-12 23:34:41 +02:00
* добавил новые функции
* написал собственную процедуру ввода команды
2010-10-21 01:58:36 +02:00
2012-03-23 19:53:16 +01:00
2010-10-21 01:58:36 +02:00
Shell 0.11 // 01.08.2008 // Albom
=======================================
2021-06-12 23:34:41 +02:00
* Добавил команды free и reboot, внёс некоторые изменения, исправил найденные ошибки
2010-10-21 01:58:36 +02:00
2012-03-23 19:53:16 +01:00
2010-10-21 01:58:36 +02:00
Shell 0.1 // 29.07.2008 // Albom
=======================================
2021-06-12 23:34:41 +02:00
* Реализованы (не полностью) команды: about, cd, date, echo, exit, help, kill, ls, ps, pwd, ver
* При запуске программы (если не указан полный путь) она ищется в каталоге /rd/1 и текущем каталоге
2010-10-21 01:58:36 +02:00
2012-03-23 19:53:16 +01:00
2010-10-21 01:58:36 +02:00
Shell 0.02 // 27.07.2008 // Albom
=======================================
2024-05-29 13:30:32 +02:00
* Реализовал команды:
2021-06-12 23:34:41 +02:00
exit - выход
ls (с параметром и без) - вывод списка директории
pwd - текущий каталог
ps - список процессов и их PID
kill - завершить процесс по PID
help (с параметром и без) - помощь
2010-10-21 01:58:36 +02:00
2024-05-29 13:30:32 +02:00
2010-10-21 01:58:36 +02:00
Shell 0.01 // 27.07.2008 // Albom
=======================================
2021-06-12 23:34:41 +02:00
* Решил написать функциональный шелл на Си с использованием console.obj
* Пока сделал функцию отделения команды и параметров, а также реализовал команды help (пока без параметров), ver и exit