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
Зависит от того, в какой концепции вы хотите его использовать.
Это не приведет к установке пакетов.
Что касается VM, я не вижу никаких проблем.
Использование 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