Ich schrieb ein Skript, das alle auf einem Computer installierten Pakete auflistet und vergleicht es dann mit einer anderen Liste, die sich in /tmp/pacotes_iniciais.log
befindet. Aus irgendeinem Grund ändert sich manchmal die Sprache der Ausgabe. Es wechselt zwischen Englisch und Portugiesisch.Die Sprache in der Ausgabe eines Shell-Skripts ändert sich
Das erste Mal, dass ich das Skript ausführen, gibt sie Mon
(Montag), aber im zweiten Lauf ist das Datum Seg
, die die Verkleinerungs für Segunda (Montag in Portugiesisch) ist.
Auch wenn in Englisch, werden die Wörter bei dem 14º Zeichen abgeschnitten.
Dies ist problematisch, weil der Vergleich insgesamt nicht validiert.
Im Folgenden ein Auszug aus dem Skript, das die Liste und führt den Vergleich erzeugt:
dpkg -l | awk '{print $2}' >> /tmp/lista_pacotes.log
echo "\nPackages added until" $(date) "\n" >> /tmp/diferencas.log
grep -F -x -v -f /tmp/pacotes_iniciais.log /tmp/lista_pacotes.log >> /tmp/diferencas.log
Der Gehalt an /tmp/diferencas.log
Zweiten Lauf:
Packages added until Seg Nov 14 08:48:22 BRT 2016
sl
Ersten Lauf:
Packages added until Mon Nov 14 08:24:17 BRT 2016
Name
acpi-support-b
apt-listchange
aptitude-commo
aptitude-doc-e
bash-completio
ca-certificate
console-setup-
[...]
Was könnte das verursachen?
Hinweis: Ich führe dieses Skript auf einem 64-Bit-Debian Jessie OS und Zugriff auf dieses System über SSH.
Verwenden Sie 'dpkg --get-selections | cut -f1' –
@IporSircer was würde dieser Befehl tun? – EGS
man dpkg: '--get-selections [paketname-muster ...] Liste der Paketauswahl abrufen und in stdout schreiben. Ohne ein Muster, nicht installierte Pakete (d. H. Diejenigen, die zuvor gereinigt wurden) werden nicht angezeigt –