jq найти значение, соответствующее значению из другого ключа

apt также имеют dry-run. Из руководства -страница:

-s, --simulate, --just-print, --dry-run, --recon, --no-act

No action. Perform a simulation of events that would occur but do not actually change the system. Configuration Item: APT::Get::Simulate. Simulate prints out a series of lines, each one representing an rpm operation: Configure (Conf), Remove (Remv), Unpack (Inst). Square brackets indicate broken packages with an empty set of square brackets meaning breaks that are of no consequence (rare).

Итак, что-то банально похожее на:

#!/bin/sh
apt-get -s -y install <package>
if [ $? -eq 0 ] ; then echo 'Package installed' ; else echo 'Error'; exit ; fi

Зависит от того, в какой концепции вы хотите его использовать.

  1. Это не приведет к установке пакетов.

  2. Что касается VM, я не вижу никаких проблем.

2
10.06.2021, 10:22
1 ответ

Использование jqдля выбора записи public_keyдля элемента массива ssh_keys, имеющего nameзначение, равное User's key(, где строка User's keyзадается значением, импортированным в jq. ] переменная $querynameв командной строке):

jq -r --arg queryname "User's key" '.ssh_keys[] | select(.name == $queryname).public_key'

-rзаставляет распечатывать значение в декодированном виде. Без -rвы получите значение JSON -, закодированное (и заключенное в кавычки ).

Вы должны направить вывод JSON curlчерез приведенную выше команду. С данным документом в качестве входных данных будет сгенерирована единственная строка

ssh-rsa AAAA vyacheslav@MacBook.local
1
28.07.2021, 11:26

Теги

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