Использование контура while read
:
while read -r ip; do curl --fail "ipinfo.io/${ip}/city" || break; done<ip_list.txt
Это прочитает файл ip_list.txt
и установит для каждой строки переменную цикла ip
, а затем свернет ее.
По предложению Стефана я добавил флаг --fail
в curl, чтобы он автоматически завершал работу при ошибке сервера, и флаг || break
, чтобы прерывать цикл. ipinfo.io разрешает 50 тысяч запросов API в месяц для бесплатных учетных записей, поэтому в зависимости от того, сколько у вас IP-адресов и как часто вы планируете использовать это, это может быть проблемой для вас.
Каталог lib
можно найти в полных дистрибутивах BaseX, которые можно загрузить с официальной домашней страницы. Для получения дополнительной информации см. Запуск :Полные дистрибутивы .
Я не думаю, что basex
имеет какой-либо lib
контент, только bin
.
dpkg -L basex
ничего не возвращает в каталоге lib, поэтому его точно нет в пакете basex
. Это может быть basex-dev
или что-то подобное, но когда я ищу это, я нахожу:
$ apt search basex
Sorting... Done
Full Text Search... Done
basex/testing,testing 9.0.1+ds-1 all
XML database and XPath/XQuery processor
lua-basexx/testing,testing 0.3-2 all
baseXX encoding/decoding library for Lua
Если я посмотрю содержимое lua-basexx
, то и вlib
:
$ apt-file list lua-basexx
lua-basexx: /usr/share/doc/lua-basexx/changelog.Debian.gz
lua-basexx: /usr/share/doc/lua-basexx/copyright
lua-basexx: /usr/share/lua/5.1/basexx.lua
lua-basexx: /usr/share/lua/5.2/basexx.lua
Последний вариант — найтиlibbasex.so
:
$ apt-file search libbasex
$
Это ничего не возвращает, поэтому в архиве debian нет файла, начинающегося с libbasex
.
dpkg -L
перечисляет все файлы, поставляемые в данном пакете; чтобы получить полное представление об изменениях, внесенных в систему, вам также придется просмотреть сценарии поддержки пакета, но basex
их не имеет.
BaseX — это программа на Java, поэтому ее библиотеки не находятся в lib...
файлах; они предоставляются в виде JAR,поставляется в /usr/share/maven-repo
(, который структурирован как репозиторий Maven )и связан в /usr/share/java
. «Библиотека» BaseX (, которая также содержит все приложения BaseX ), называется /usr/share/maven-repo/org/basex/basex/9.0.1/basex-9.0.1.jar
.
Я не уверен, что упакованная версия BaseX будет автоматически загружать JAR-файлы из любого заданного каталога, но вы всегда можете добавить JAR-файлы в путь к классам; см. подробности в этом ответе .