Rev 7024 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
8827 | rgimad | 1 | Shell 0.8.2 // 13.06.2021 // rgimad |
2 | * use libj.obj instead of built-in "libc" |
||
3 | * big refactoring: |
||
4 | - fix indentation |
||
5 | - string constants moved to locale/.../globals.h files |
||
6 | * add new command - kfetch |
||
7 | it is like neofetch for KolibriOS |
||
8 | prints logo and main system information. |
||
9 | * other fixes |
||
10 | |||
11 | Shell 0.8.1 // 14.04.2020 - 01.04.2021 // rgimad, turbocat, Kenshin |
||
12 | rgimad: |
||
13 | * fixed bug with ctrl+v |
||
14 | * added navigation in current string by Home, End |
||
15 | * directory highlighting in ls command output |
||
16 | * Now for incorrect scripts (which doesnt start with #SHS) shell says |
||
17 | that they are incorrect, not "File not found". |
||
18 | Also, translated comments from russian to english in two files. |
||
19 | * added mv command |
||
20 | * added ren command |
||
21 | * now ls works also with relative pathes |
||
22 | * fixed bug in strrchr |
||
23 | * fixed bug with cd ../ |
||
24 | * fixed cd . and cd ./ behavior |
||
25 | * added output redirection to file (> >>) for echo command |
||
26 | e.g. echo "">123.txt ; echo a b c >> y.txt |
||
27 | |||
28 | turbocat: |
||
29 | * Added new API: SC_GET_PID |
||
30 | * Fixed data type pid - unsigned int. |
||
31 | * Fixed cmd_ps output pid; |
||
32 | * Added new SC_PING api |
||
33 | * Renamed from SC_GET_PID to SC_PID |
||
34 | * added pkill command |
||
35 | |||
36 | Kenshin: |
||
37 | * shell.inc now suports sc_ping & sc_pid functions |
||
38 | * update docs |
||
39 | |||
7024 | leency | 40 | Shell 0.7.7 // 06.02.2017 // Leency |
8827 | rgimad | 41 | * help теперь выводит список комманд в три колонки |
42 | * ps теперь выводит размер ОЗУ, используемый процессом |
||
43 | * ls теперь выводит все файлы не в одну, а в несколько колонок |
||
44 | размер колонок расчитывается исходя из самого длинного имени файла в папке |
||
45 | старый вывод списком по прежнему доступен через ключ '-1' |
||
7024 | leency | 46 | |
6857 | siemargl | 47 | Shell 0.7.6 // 06.02.2017 // Siemargl |
8827 | rgimad | 48 | * Файловые операции используют 64-bit размеры файлов. |
49 | cp |
||
50 | cp использует буфер 1Мб, или не более половины свободной памяти |
||
6857 | siemargl | 51 | |
6825 | siemargl | 52 | Shell 0.7.5 // 06.01.2017 // Siemargl |
8827 | rgimad | 53 | * Мелкие багфиксы, изменена логика обработки стрелок вверх/вниз, чтобы как у всех |
54 | Добавлена команда waitfor и вариант ps с параметром |
||
6822 | siemargl | 55 | |
4516 | Albom | 56 | Shell 0.7.4 // 23.01.2014 // Albom |
8827 | rgimad | 57 | * Работа с буфером обмена (копирование Ctrl+C и вставка Ctrl+V строки целиком) |
4516 | Albom | 58 | |
59 | |||
4309 | Albom | 60 | Shell 0.7.3 // 28.11.2013 // Albom |
8827 | rgimad | 61 | * Исправлена ошибка с символом % в истории команд |
4309 | Albom | 62 | |
63 | |||
4106 | Albom | 64 | Shell 0.7.2 // 26.10.2013 // Albom |
8827 | rgimad | 65 | * Файл .shell перенесен в /sys/settings/ |
66 | * Исправлена команда "cd .." |
||
4106 | Albom | 67 | |
68 | |||
4050 | Albom | 69 | Shell 0.7.1 // 19.10.2013 // Albom |
8827 | rgimad | 70 | * Исправлена ошибка, связанная с зависанием при попытке чтения пустой истории команд (по клавишам Up и Down) |
4050 | Albom | 71 | |
72 | |||
4015 | Albom | 73 | Shell 0.7.0 // 13.10.2013 // Albom |
8827 | rgimad | 74 | * Переработан модуль ввода команды (добавлена обработка клавиш "влево", "вправо", Del) |
75 | * Мелкие исправления |
||
4015 | Albom | 76 | |
77 | |||
78 | Shell 0.6.4 // 09.10.2013 // Leency |
||
8827 | rgimad | 79 | * Поддержка относительных путей в скриптах |
4015 | Albom | 80 | |
81 | |||
3916 | Albom | 82 | Shell 0.6.3 // 20.09.2013 // Albom |
8827 | rgimad | 83 | * msvc-style атрибуты для отключения выравнивания в структурах (спасибо CleverMouse и Kirakishou!) |
3245 | Albom | 84 | |
3916 | Albom | 85 | |
3268 | Albom | 86 | Shell 0.6.2 // 24.02.2013 // Albom |
8827 | rgimad | 87 | * Добавлена обработка управляющих символов (\n, \t, \", \', \\, \?) |
88 | * Мелкие исправления |
||
3268 | Albom | 89 | |
90 | |||
3247 | Albom | 91 | Shell 0.6.1 // 17.02.2013 // Albom |
8827 | rgimad | 92 | * Простая обработка ошибок внутренних команд |
93 | * Команда killall трансформирована в параметр all команды kill |
||
94 | * Изменена кодировка файла History.txt с 1251 на 866 |
||
3247 | Albom | 95 | |
96 | |||
3245 | Albom | 97 | Shell 0.6 // 16.02.2013 // Albom |
8827 | rgimad | 98 | + Добавлена возможность запускать программы, имена которых или путь к которым содержат пробелы. Имя программы (возможно с путём к ней) для этого необходимо заключать в кавычки. Т.е. наконец-то можно запустить программу из /rd/1/File managers, не переходя в неё |
99 | + Добавлена функция разделения строковой переменной на int argc, char* argv[], что означает возможность улучшения команд (обработка нескольких параметров) |
||
100 | + Добавлена команда cp (копирование файла). Принимает обязательно два параметра - имя файла-источника и имя файла-результата. Имена могут быть краткими (в текущем каталоге), так и с полным путём (должны начинаться с /). Ограничение на размер файла - 4 Гбайта |
||
101 | * Исправлена кодировка в сообщении об ошибке в консольном приложении |
||
102 | * Клавиши истории (вверх и вниз) поменяны между собой |
||
103 | * Количество команд в истории увеличено с пяти до десяти |
||
104 | * Уменьшено количество предупреждений при компиляции |
||
105 | * Команда ccpuid преобразована в параметр cpu команды ver |
||
106 | * Исправления в пакетных файлах сборки |
||
107 | + Добавлен пример консольного приложения на ассемблере и пакетный файл для его сборки |
||
3245 | Albom | 108 | |
109 | |||
2735 | Albom | 110 | Shell 0.5.4 // 04.06.2012 // Albom |
111 | ======================================= |
||
8827 | rgimad | 112 | * Исправлен интерфейс исполняемых консольных приложений. Теперь они должны создавать буфер с именем pid-SHELL, где pid - идентификатор процесса без заглавных нулей |
113 | * Реинкарнированы команды ccpuid, free, killall |
||
114 | + Добавлена команда history |
||
2735 | Albom | 115 | |
116 | |||
117 | Shell 0.5.3 // 19.04.2012 // Albom |
||
118 | ======================================= |
||
8827 | rgimad | 119 | * Исправление в команде pwd |
2735 | Albom | 120 | |
121 | |||
2617 | Albom | 122 | Shell 0.5.2 // 16.04.2012 // Albom |
123 | ======================================= |
||
8827 | rgimad | 124 | * Исправление в команде ls |
125 | * Незначительные другие исправления |
||
2617 | Albom | 126 | |
127 | |||
2615 | Albom | 128 | Shell 0.5.1 // 15.04.2012 // Albom |
129 | ======================================= |
||
8827 | rgimad | 130 | * Некоторые незначительные исправления |
2615 | Albom | 131 | |
132 | |||
2502 | Albom | 133 | Shell 0.5 // 23.03.2012 // Albom |
134 | ======================================= |
||
8827 | rgimad | 135 | * Добавлена поддержка консольных приложений, которые общаются с шеллом через именованную область |
2502 | Albom | 136 | |
137 | |||
1807 | Albom | 138 | Shell 0.4.6 // 30.01.2011 // Albom |
2502 | Albom | 139 | ======================================= |
8827 | rgimad | 140 | * Временно удалены команды killall и ccpuid (чтобы вернуть, необходимо раскомментировать 2 строчки) |
141 | * Исправления в текстовых строках |
||
1807 | Albom | 142 | |
2502 | Albom | 143 | |
1673 | Nasarus | 144 | Shell 0.4.52 // 25.10.2010 // Pterox |
145 | ======================================= |
||
8827 | rgimad | 146 | * Добавлена команда "killall" - убивает все процессы кроме OS/IDLE. |
147 | * Фиксы |
||
1670 | Nasarus | 148 | |
2502 | Albom | 149 | |
1673 | Nasarus | 150 | Shell 0.4.51 // 21.10.2010 // Pterox |
151 | ======================================= |
||
8827 | rgimad | 152 | * Команда "turnoff" переименована в "shutdown", "kerver" удалена - теперь её заменяет "ver kernel"; фиксы. |
1673 | Nasarus | 153 | |
2502 | Albom | 154 | |
1668 | Nasarus | 155 | Shell 0.4.5 // 19.10.2010 // Pterox |
156 | ======================================= |
||
8827 | rgimad | 157 | Программа теперь многоязыковая (английский, и русский язык). Программа полностью русифицированна. |
158 | * Команда "free" переименована в "memory" - для точности. |
||
159 | * Добавлены команды turnoff (выключить компьютер), kerver (версия ядра KolibriOS), uptime; reboot теперь может перезагружать ядро ("reboot kernel") |
||
1668 | Nasarus | 160 | |
2502 | Albom | 161 | |
1668 | Nasarus | 162 | Shell 0.4.4 // 20.08.2010 // Albom |
163 | ======================================= |
||
8827 | rgimad | 164 | 1) шелл корректно завершается при закрытии окна |
165 | 2) исправлено ещё 2 ошибки |
||
166 | 3) добавлены 2 команды: |
||
167 | * sleep - ждать. параметр - время в сотых частях секунды. только целое число. |
||
168 | * ccpuid - вывод в консоль информации (пока скудно) о процессоре. пользы мало, но давно хотел с командой cpuid разобраться (в следующем семестре буду студентам курс читать, включил разбор команды в программу). |
||
1668 | Nasarus | 169 | |
8827 | rgimad | 170 | есть много идей. некоторые легко реализуются, некоторые сложнее. если интересно: |
171 | 1) добавить переменную (одну!), в которую будет результат в текстовой форме (не то что возвращает функция) записываться. с ней можно будет работать из командной строки |
||
172 | 2) внедрить простую стековую машину для вычислений с вещественными числами |
||
1668 | Nasarus | 173 | |
2502 | Albom | 174 | |
1668 | Nasarus | 175 | Shell 0.4.3 // 20.08.2010 // Albom |
176 | ======================================= |
||
8827 | rgimad | 177 | * Смесь версий 0.4.1 и 0.4.2. Теперь в архиве все исходные файлы, необходимые для компиляции (раньше использовались объектники с моими обёртками, исходники я с шеллом не выкладывал) |
1668 | Nasarus | 178 | |
2502 | Albom | 179 | |
1668 | Nasarus | 180 | Shell 0.4.2 // 28.08.2009 // diamond |
181 | ======================================= |
||
8827 | rgimad | 182 | * Добавил корректное завершение работы при закрытии окна консоли, работает только начиная с последней на данный момент версией библиотеки (лежит на svn, включена в ночную сборку). Перекомпилировал в VS2008 с LTCG, ещё пошаманил с оптимизацией по размеру |
1668 | Nasarus | 183 | |
2502 | Albom | 184 | |
1668 | Nasarus | 185 | Shell 0.4.1 // 16.03.2009 // Albom |
186 | ======================================= |
||
8827 | rgimad | 187 | * версия с исправленными ошибками. |
188 | * работает команда alias, добавлена команда clear. |
||
1668 | Nasarus | 189 | |
2502 | Albom | 190 | |
1668 | Nasarus | 191 | Shell 0.4 // 12.08.2008 // Albom |
192 | ======================================= |
||
8827 | rgimad | 193 | 1) Работает схема псевдонимов (до 256 команд) |
194 | - просмотр по команде alias (без параметров) |
||
195 | - добавление псевдонима команды с клавиатуры или в скрипте (в том числе и .shell): alias новая команда = старая команда |
||
196 | - команды регистрозависимые, поэтому поклонникам ДОС придётся внести в .shell строки такого вида |
||
1668 | Nasarus | 197 | alias dir = ls |
198 | alias DIR = ls |
||
199 | alias Dir = ls |
||
200 | alias DIr = ls |
||
8827 | rgimad | 201 | и т.д. |
202 | - встроенные команды переназвать невозможно, например, бессмысленна команда: |
||
1668 | Nasarus | 203 | alias ls=somecommand |
8827 | rgimad | 204 | - при отладке получал странную информацию, но так как у меня всё работает, то пока изменений вносить не планирую |
1668 | Nasarus | 205 | |
8827 | rgimad | 206 | 2) Теперь шелл можно запускать с параметром (из самого себя, например) |
207 | - синтаксис: |
||
208 | shell команда |
||
209 | - пример: |
||
1668 | Nasarus | 210 | shell /sys/somescript |
8827 | rgimad | 211 | - при этом .shell не запускается |
1668 | Nasarus | 212 | |
8827 | rgimad | 213 | 3) Реализована команда more |
214 | - просмотр текстовых и бинарных файлов (вроде бы задача простая, но пришлось повозиться с управляющими символами) |
||
215 | - очень не рекомендуется просматривать большие файлы |
||
1668 | Nasarus | 216 | |
2502 | Albom | 217 | |
1668 | Nasarus | 218 | Shell 0.3 // 07.08.2008 // Albom |
219 | ======================================= |
||
8827 | rgimad | 220 | 1) Возможность запуска скриптов |
221 | * каждая строка должна представляет собой команду |
||
222 | * строкой считается набор символов, который заканчивается CR+LF (Windows) или LF(UNIX) или CR(Mac) |
||
223 | * если строка начинается с #, то вся строка (т.е. комментарий) игнорируется |
||
224 | * скрипт должен начитаться с #SHS |
||
225 | * при запуске шелла автоматически запускается скрипт .shell |
||
1668 | Nasarus | 226 | |
8827 | rgimad | 227 | 2) История из 5 (можно изменить при компиляции) введённых команд |
228 | * перемещение по истории - UP/DOWN |
||
1668 | Nasarus | 229 | |
8827 | rgimad | 230 | 3) Команда alias, которая позволяет вводить синонимы для команд |
231 | * до 256 (можно изменить при компиляции) синонимов |
||
232 | * пока работает только добавление и просмотр синонимов, а отработка пока не реализована |
||
1668 | Nasarus | 233 | |
2502 | Albom | 234 | |
1668 | Nasarus | 235 | Shell 0.2 // 04.08.2008 // Albom |
236 | ======================================= |
||
8827 | rgimad | 237 | * добавил новые функции |
238 | * написал собственную процедуру ввода команды |
||
1668 | Nasarus | 239 | |
2502 | Albom | 240 | |
1668 | Nasarus | 241 | Shell 0.11 // 01.08.2008 // Albom |
242 | ======================================= |
||
8827 | rgimad | 243 | * Добавил команды free и reboot, внёс некоторые изменения, исправил найденные ошибки |
1668 | Nasarus | 244 | |
2502 | Albom | 245 | |
1668 | Nasarus | 246 | Shell 0.1 // 29.07.2008 // Albom |
247 | ======================================= |
||
8827 | rgimad | 248 | * Реализованы (не полностью) команды: about, cd, date, echo, exit, help, kill, ls, ps, pwd, ver |
249 | * При запуске программы (если не указан полный путь) она ищется в каталоге /rd/1 и текущем каталоге |
||
1668 | Nasarus | 250 | |
2502 | Albom | 251 | |
1668 | Nasarus | 252 | Shell 0.02 // 27.07.2008 // Albom |
253 | ======================================= |
||
8827 | rgimad | 254 | * Реализовал команды: |
255 | exit - выход |
||
256 | ls (с параметром и без) - вывод списка директории |
||
257 | pwd - текущий каталог |
||
258 | ps - список процессов и их PID |
||
259 | kill - завершить процесс по PID |
||
260 | help (с параметром и без) - помощь |
||
1668 | Nasarus | 261 | |
2502 | Albom | 262 | |
1668 | Nasarus | 263 | Shell 0.01 // 27.07.2008 // Albom |
264 | ======================================= |
||
8827 | rgimad | 265 | * Решил написать функциональный шелл на Си с использованием console.obj |
266 | * Пока сделал функцию отделения команды и параметров, а также реализовал команды help (пока без параметров), ver и exit |
||
1668 | Nasarus | 267 |