From 5a6834585c43296c2207f5f251d3d5c237c7c8d2 Mon Sep 17 00:00:00 2001 From: Sn4il Date: Wed, 6 Mar 2024 10:25:41 +0300 Subject: Update LFS mirror --- lfs-12.1-sysv/chapter08/bash.html | 270 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 270 insertions(+) create mode 100644 lfs-12.1-sysv/chapter08/bash.html (limited to 'lfs-12.1-sysv/chapter08/bash.html') diff --git a/lfs-12.1-sysv/chapter08/bash.html b/lfs-12.1-sysv/chapter08/bash.html new file mode 100644 index 0000000..f88fbe5 --- /dev/null +++ b/lfs-12.1-sysv/chapter08/bash.html @@ -0,0 +1,270 @@ + + + + + + 8.35. Bash-5.2.21 + + + + + + + + +

+ 8.35. Bash-5.2.21 +

+
+
+

+ Пакет Bash содержит Bourne-Again Shell. +

+
+
+
+ Приблизительное время сборки: + 1.2 SBU +
+
+ Требуемое дисковое + пространство: 52 MB +
+
+
+
+
+

+ 8.35.1. Установка пакета Bash +

+

+ Во-первых, исправьте некоторые проблемы, выявленные разработчиками: +

+
patch -Np1 -i ../bash-5.2.21-upstream_fixes-1.patch
+

+ Подготовьте Bash к компиляции: +

+
./configure --prefix=/usr             \
+            --without-bash-malloc     \
+            --with-installed-readline \
+            --docdir=/usr/share/doc/bash-5.2.21
+
+

+ Значение нового параметра настройки: +

+
+
+ --with-installed-readline +
+
+

+ Этот параметр указывает Bash использовать библиотеку + readline, которая уже + установлена в системе, а не собственную версию readline. +

+
+
+
+

+ Скомпилируйте пакет: +

+
make
+

+ Перейдите к разделу «Установка пакета», если не планируете + запускать тесты. +

+

+ Перед запуском тестов, убедитесь, что пользователь tester может писать в каталог с исходниками: +

+
chown -R tester .
+

+ Набор тестов пакета предназначен для запуска пользователем без + полномочий root, которому принадлежит терминал, подключенный к + стандартному вводу. Чтобы удовлетворить это требование, создайте + новый псевдотерминал с помощью Expect и запустите тесты от имени пользователя + tester: +

+
su -s /usr/bin/expect tester << "EOF"
+set timeout -1
+spawn make tests
+expect eof
+lassign [wait] _ _ _ value
+exit $value
+EOF
+

+ Набор тестов использует diff для определения разницы + между выводом тестового сценария и ожидаемым результатом. Любой + вывод diff (с + префиксом < и >) указывает на сбой теста, если нет + сообщение о том, что различия можно проигнорировать. Известно, что + один тест с именем run-builtins не + работает на некоторых хост-дистрибутивах, указывая на различия в + первой строке выходных данных. +

+

+ Установите пакет: +

+
make install
+

+ Запустите только что скомпилированную программу bash (заменив ту, которая + выполняется в данный момент): +

+
exec /usr/bin/bash --login
+
+
+

+ 8.35.2. Содержимое + пакета Bash +

+
+
+
+ Установленные программы: + bash, bashbug и sh (ссылка на + bash) +
+
+ Созданные каталоги: + /usr/include/bash, /usr/lib/bash, and + /usr/share/doc/bash-5.2.21 +
+
+
+
+

+ Краткое описание +

+ + + + + + + + + + + + + + + + + + + +
+

+ bash +

+
+

+ Широко распространенный командный интерпретатор. + Выполняет различные дополнения и подстановки в переданной + командной строке перед её выполнением, что делает этот + интерпретатор мощным инструментом +

+
+

+ bashbug +

+
+

+ Скрипт, помогающий пользователю составлять и отправлять + по почте отчеты об ошибках bash +

+
+

+ sh +

+
+

+ Симлинк на программу bash; при вызове + sh, + bash + пытается максимально точно имитировать поведение + sh, при + этом также соответствуя стандарту POSIX. +

+
+
+
+
+ + + -- cgit v1.2.3