Простая ошибка скрипта - добавление PUBKEY для apt-get

Когда я запускаю apt-get update, я получаю некоторые ошибки об отсутствии открытых ключей, и я хотел бы исправить их с помощью этого сценария:

#!/bin/sh

cat /tmp/apt-get-update.txt | while read -r line;
do
  if [ "echo $line | grep -c NO_PUBKEY" == "1" ]
    then
      KEY=`$line | grep -o NO_PUBKEY.* | cut -d" " -f2`
      sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $KEY
  fi
done

exit 0

Проблема в том, что что-то должно быть не так с if строка. Я получаю эти ошибки:

~/script.sh: 5: [: echo Ign:36 http://ppa.launchpad.net/beineri/opt-qt57-trusty/ubuntu trusty/main i386 Packages | grep -c NO_PUBKEY: unexpected operator
0
задан 13 December 2017 в 18:27

1 ответ

Можно извлечь ключ и работать apt-key на нем с:

grep -o 'NO_PUBKEY.*' apt-get-update.txt | while read -r _ key; do 
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys "$key"
    break
done
2
ответ дан 1 November 2019 в 01:32

Другие вопросы по тегам:

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