Shell/ru: Difference between revisions
mNo edit summary |
|||
(7 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
[[Image:SHELL.png|thumb|right]] | [[Image:SHELL.png|thumb|right]] | ||
<CODE>SHELL</CODE> - командная оболочка с базовым набором команд. Консольное приложение (использует библиотеку console.obj). | <CODE>SHELL</CODE> - командная оболочка с базовым набором команд из мира UNIX. Консольное приложение (использует библиотеку console.obj). | ||
Язык разработки - Си. Компилятор - gcc (MinGW). | |||
== Основные возможности == | == Основные возможности == | ||
* | * 28 базовых команд (about, alias, cd, clear, cp, mv, ren, date, echo, exit, free, help, history, kill, ls, mkdir, more, ps, pwd, reboot, rm, rmdir, shutdown, sleep, touch, uptime, ver, waitfor); | ||
* Схема псевдонимов, построенная на команде alias; | * Схема псевдонимов, построенная на команде alias; | ||
* История из 5 (можно изменить при компиляции) введённых команд; | * История из 5 (можно изменить при компиляции) введённых команд; | ||
* Возможность запуска скриптов. | * Возможность запуска скриптов (при запуске шелла автоматически запускается скрипт .shell, скрипт должен начитаться с #SHS, если строка начинается с #, то вся строка игнорируется); | ||
* Возможность запуска консольных приложений. | |||
== Консольные приложения == | |||
Консольное приложение может быть написано на любом языке программирования - это обыкновенная программа для Колибри. | |||
1) Консольное приложение после своего запуска В ПЕРВУЮ ОЧЕРЕДЬ должно создать именованную область с именем pid-SHELL, где pid - идентификатор процесса, | |||
например: 6, 42 или 204. | |||
+ нужно сделать, чтобы программа корректно завершалась, если запущена не из шелла (СЕЙЧАС НЕ РЕАЛИЗОВАНО!!!) | |||
2) Первый байт области - команда (т.е. максимум 255 команд), далее - данные (могут отсутствовать). | |||
Список команд для версии 0.5: | |||
SC_OK 0 ничего не делать | |||
SC_EXIT 1 выход | |||
SC_PUTC 2 вывести на экран символ | |||
SC_PUTS 3 вывести на экран строку | |||
SC_GETC 4 считать с клавиатуры символ | |||
SC_GETS 5 считать с клавиатуры строку | |||
SC_CLS 6 очистить экран | |||
3) Программа должна САМА заботиться о рациональном использовании процессорного времени. | |||
4) Программа должна САМА заботиться о закрытии именованной области. | |||
== Авторы == | == Авторы == | ||
Albom, diamond | Albom, diamond, Pterox, Leency, rgimad | ||
{{Файловые_менеджеры}} | {{Файловые_менеджеры}} | ||
[[Category:Файловые_менеджеры]] | [[Category:Файловые_менеджеры]] | ||
[[Category:Программы на Си]] |
Latest revision as of 17:50, 24 November 2020
SHELL
- командная оболочка с базовым набором команд из мира UNIX. Консольное приложение (использует библиотеку console.obj).
Язык разработки - Си. Компилятор - gcc (MinGW).
Основные возможности
- 28 базовых команд (about, alias, cd, clear, cp, mv, ren, date, echo, exit, free, help, history, kill, ls, mkdir, more, ps, pwd, reboot, rm, rmdir, shutdown, sleep, touch, uptime, ver, waitfor);
- Схема псевдонимов, построенная на команде alias;
- История из 5 (можно изменить при компиляции) введённых команд;
- Возможность запуска скриптов (при запуске шелла автоматически запускается скрипт .shell, скрипт должен начитаться с #SHS, если строка начинается с #, то вся строка игнорируется);
- Возможность запуска консольных приложений.
Консольные приложения
Консольное приложение может быть написано на любом языке программирования - это обыкновенная программа для Колибри.
1) Консольное приложение после своего запуска В ПЕРВУЮ ОЧЕРЕДЬ должно создать именованную область с именем pid-SHELL, где pid - идентификатор процесса, например: 6, 42 или 204. + нужно сделать, чтобы программа корректно завершалась, если запущена не из шелла (СЕЙЧАС НЕ РЕАЛИЗОВАНО!!!)
2) Первый байт области - команда (т.е. максимум 255 команд), далее - данные (могут отсутствовать). Список команд для версии 0.5: SC_OK 0 ничего не делать SC_EXIT 1 выход SC_PUTC 2 вывести на экран символ SC_PUTS 3 вывести на экран строку SC_GETC 4 считать с клавиатуры символ SC_GETS 5 считать с клавиатуры строку SC_CLS 6 очистить экран
3) Программа должна САМА заботиться о рациональном использовании процессорного времени.
4) Программа должна САМА заботиться о закрытии именованной области.
Авторы
Albom, diamond, Pterox, Leency, rgimad
|