Subversion Repositories Kolibri OS

Rev

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