Лёгкая командная оболочка на Rust. Без сети, без телеметрии, без сторонних тяжёлых зависимостей.
- Запуск любых программ из
PATH - Конвейеры
|и перенаправления<,>,>> - Кавычки, экранирование
\и подстановка переменных:$NAME,${NAME},$? - Встроенные команды:
cd,pwd,echo,export,unset,help,exit - Настройка через TOML: приглашение, автозапуск команд и оформление текста
- Цветное и жирное/курсивное оформление через ANSI (
black,red,cyan/голубой)
Нужен установленный Rust.
git clone https://github.com/aydevix/aysh.git
cd aysh
cargo run --releaseВариант 1 — в ~/.cargo/bin (обычно уже есть в PATH):
cargo install --git https://github.com/aydevix/ayshВариант 2 — системно, для всех пользователей (нужны права администратора):
git clone https://github.com/aydevix/aysh.git
cd aysh
cargo build --release
sudo install -m 755 target/release/aysh /usr/local/bin/ayshПроверка:
which aysh
ayshЧтобы aysh можно было выбрать в качестве оболочки входа, добавьте его путь в /etc/shells и смените оболочку:
echo /usr/local/bin/aysh | sudo tee -a /etc/shells
chsh -s /usr/local/bin/aysh
ayshне читает~/.profile,~/.bashrcи подобные файлы. Для входа в систему используйте его осторожно и держите под рукой другой терминал или загрузочную оболочку, чтобы в случае проблем можно было откатитьchsh.
cargo uninstall aysh # если ставили через cargo install
sudo rm /usr/local/bin/aysh # если ставили вручную
rm -rf ~/.config/aysh # необязательно: удалить конфигурациюФайл настроек: $XDG_CONFIG_HOME/aysh/config.toml, а если XDG_CONFIG_HOME не задан, то ~/.config/aysh/config.toml.
prompt = "aysh> "
autostart = ["echo Добро пожаловать в aysh", "pwd"]
[style]
bold = true
italic = false
color = "cyan" # black, red или cyan (голубой)| Ключ | Тип | Описание |
|---|---|---|
prompt |
строка | Приглашение. По умолчанию # |
autostart |
строка или массив | Команды, которые выполняются при запуске |
style.bold |
true / false |
Жирный текст для приглашения и вывода echo |
style.italic |
true / false |
Курсив |
style.color |
black, red, cyan |
Цвет текста |
Ошибки в конфиге выводятся в stderr, после чего оболочка запускается с настройками по умолчанию.
echo --bold --color red Ошибка!
echo --italic --color=cyan Текст курсивомОформление применяется только при выводе в терминал. При перенаправлении в файл или канал ANSI-коды не записываются.
# echo --bold привет
привет
# cd /tmp && pwd
/tmp
# ls | grep txt > list.txt
# exit
aysh намеренно компактен и не является полной реализацией POSIX shell. Не поддерживаются подстановка команд, globbing, фоновые задачи, условные конструкции и функции.
В оболочке нет телеметрии, сетевых запросов и фоновых служб. Потребление памяти зависит от ОС и окружения; память запускаемых программ в него не входит.
cargo test
cargo fmt --checkMIT
