Как добавить предварительно скомпилированную библиотеку в autotools?

Я могу себе представить два простых способа сделать это. Вы можете передать содержимое файла по конвейеру parallel или написать сценарий оболочки. Если все, что вы хотите выполнить, - это конкретный набор задач, то сценарий оболочки может иметь больше смысла. Это было бы очень коротко, мило и по существу:

#!/bin/sh
parallel -j 3 -- "php index.php import file1 --offline" "php index.php import file2 --deleteUnused" "php index.php import file3"

Теперь, если вы хотите что-то более обобщаемое (то есть что-то, что вы можете создать несколько наборов команд для загрузки в виде группы), тогда это может быть проще придумать простой формат файла и затем передать содержимое файла в parallel .

Самый простой способ сделать это - включить в текст дословные команды, которые вы хотите выполнить.

Например, если бы это был ваш текстовый файл ( test.txt ):

"php index.php import file1 --offline" "php index.php import file2 --deleteUnused" "php index.php import file3"

Затем вы могли бы запустить следующее, и все могло бы работать нормально:

$ cat test.txt | parallel -j 3 -- 

Вы также можете поэкспериментировать с немного более сложный формат файла (например, каждая команда в новой строке и не в кавычках). Если бы вы пошли по этому пути, вам нужно было бы провести небольшой синтаксический анализ файла перед его подключением к parallel , что можно было бы довольно легко сделать, например, с помощью awk .

Однако, если вы решите создать более гибкий формат файла, подобный этому, может быть полезно создать вспомогательный сценарий оболочки (или функцию), которая избавит вас от необходимости вводить awk '<любые шаблоны, которые вы соответствуете > {сделай что-нибудь} '| parallel -j3 - каждый раз.

1
18.08.2015, 00:53
1 ответ

Этот старый обходной путь, похоже, все еще работает

mylibdir = $(libdir)
dist_mylib_SCRIPTS = libxxx.so
1
27.01.2020, 23:50

Теги

Похожие вопросы