Bonjour,
J'ai trouvé sur un forum une suite de commandes shell que je comprends pas.
Il s'agit d'extraire des informations d'un fichier texte, je comprends assez bien :
- la première ligne (que je laisse pour info) télécharge le fichier
- la deuxième extrait du zip le fichier update-binary
- c'est la troisième ligne que je comprends pas : elle est supposée extraire une suite de caractères (une signature) mais je le sentiment que ça ne peut pas fonctionner car il manque le fichier d'origine. Les infos doivent être extraites du fichier update-binary, mais ce fichier n'est pas mentionné dans la commande "cat <<EOF > update-payload-key.pub.pem" donc je ne vois pas comment cela peut fonctionner. Et pourtant ça marche ??
J'aimerais bien savoir quelle est cette subtilité d'écriture que je ne connais pas et qui fait qu'il est possible d'agir sur un fichier créé par la commande précédente. Je crois comprendre que la 3ème ligne ne se termine pas par le retour chariot et que jusqu'à EOF on reste dans la même mais il me manque des éléments pour bien comprendre.
Voici les commandes shell :
$ wget https://download.lineage.microg.org/extra/lineageos-for-microg-keys-migration.zip
$ unzip -p lineageos-for-microg-keys-migration.zip META-INF/com/google/android/update-binary > update-binary
$ cat <<EOF > update-payload-key.pub.pem
> -----BEGIN PUBLIC KEY-----
> $(grep release_key= update-binary | cut -d '"' -f 2 | fold -w 64)
> -----END PUBLIC KEY-----
> EOF
$
et le post d'origine :
lien
J'espère que je suis clair. J'aimerais vraiment savoir comment la 3ème ligne peut fonctionner. Je pensais que ça ne marcherait pas mais finalement en copiant "-----BEGIN PUBLIC KEY-----" puis toutes les autres lignes jusqu'à EOF ça a l'air de fonctionner.
Un très savant et très pédagogue usager du forum saurait-il m'expliquer ?
Par avance un grand merci.