Эта функция может быть включена/выключена с помощью команды set
и опции -x/+x
.
-x - После расширения каждой простой команды, для команды, команды регистра, команды выбора или арифметики для команды, отображается расширенное значение PS4, за которым следует команда и ее расширенные аргументы или связанный с ней список слов.
-x
включает его, +x
отключает его.
$ cat ~/myscript.sh
#!/bin/bash
set -x
echo "Hello"
sample output
$ ~/myscript.sh
+ echo Hello
Hello
Как вы указываете, генерируется .deb
файлы все общие Формат: $ {package} _ $ {version} _ $ {arch} .deb
.
Название пакета поставляется из пакета :
записей в Debian / Control
; Для полной сборки один .deb
файл будет сгенерирован для каждого пакета:
вход. Вы можете получить значения с
awk '/^Package:/ { print $2 }' debian/control
версия основана по умолчанию по значению, указанному в Debian / ChangeLog; Вы можете извлечь, что с
dpkg-parsechangelog -S version
(для сборки можно указать другую версию, но это необычно.)
Наконец, архитектура будет либо все
(для Архитектура: все
пакет) или по умолчанию для вашей системы сборки (для любой другой архитектуры:
, как правило, архитектура: любой
). Вы можете определить архитектуру вашей системы сборки, используя
dpkg-architecture -qDEB_BUILD_ARCH
(строго говоря, что должно быть -QDEB_HOST_ARCH
, но в общем случае build
и .
то же самое. Я также игнорирую здесь перекрестную компиляцию; если это проблема использования deb_target_arch
вместо deb_build_arch
.)
Таким образом, для полностью общего решения вам нужно проанализировать Контроль
файл , чтобы определить, какой пакет идет с какой архитектурой; Если ваш элемент управления
файл создает только один пакет, который не нужен.
DPKG-ParsechangeLog
и DPKG-архитектура
обеспечивается пакетом DPKG-DEV
.