Простой интерпретатор командной строки, поддерживающий команды:
- 🐱
cat [FILE]– выводит содержимое файла на экран - 😱
echo– выводит на экран свои аргументы - 🚽
wc [FILE]– выводит количество строк, слов и байт в файле - 🎁
pwd– выводит текущую директорию - 🚪
exit– выходит из интерпретатора - 🔍
grep– программа для поиска шаблонов в файлах- Usage:
grep [option]... [pattern] [file] - Флаги:
-i– выполнять поиск без учёта регистра-c– выводить только количество выбранных строк-l– выводить только имена файлов, содержащих выбранные строки-w– искать выражение как отдельное слово-A num– вывестиnumстрок последующего контекста после каждого совпадения
- Usage:
- Конвейеры (оператор
|). - Переменные сессии.
- Присваивание переменных (
=). - Подстановка переменных (
$). - Переменные окружения.
- Экранирование (
',"). - Вызов внешних процессов - TODO.
- Java JDK 21+.
- Maven 3.x.
- Перейдите в корневой каталог проекта.
- С помощью Maven Exec:
mvn clean compile
mvn exec:java -Dexec.mainClass="com.example.Bash"- С помощью JAR:
mvn clean package
java -jar target/Bash-1.0-SNAPSHOT-jar-with-dependencies.jar Проект использует Checkstyle для обеспечения единого стиля кода. Конфигурация находится в config/checkstyle/checkstyle.xml.
Для запуска линтера и вывода замечаний в консоль выполните mvn clean validate.
Отчет будет доступен в target/reports/checkstyle.html после mvn package.
- Установите плагин "CheckStyle-IDEA".
- Перейдите в
Settings > Tools > Checkstyle. - Добавьте новую конфигурацию, выбрав "Add configuration file", затем "Use a local Checkstyle file".
- Укажите путь к
config/checkstyle/checkstyle.xml. - Примените настройки. IDE будет подсвечивать нарушения стиля кода.
Юнит-тесты на JUnit 5 и Mockito в src/test/java. Запуск: mvn clean test.
Jacoco используется для измерения покрытия тестами.
Для проверки только тестов выполните mvn clean test. Для проверки покрытия используйте mvn clean package.
Отчет находится в target/site/jacoco/index.html после mvn test.
Минимальное покрытие инструкций - 80%, отсутствие пропущенных классов. Сборка упадет при несоблюдении (настроено в pom.xml).
Используется GitHub Actions (.github/workflows/ci.yml). Запускается при push в main и pull request в main. Выполняет сборку, тестирование и проверку покрытия.