Ich schreibe ein Skript, das eine Datei lesen muss, die Informationen zu einem Paket enthält, für das ich diese Zeile geschrieben habe
apt show $PACKAGE_NAME > pack_info.txt
Dies erstellt jedoch nicht die pack_info.txtDatei und gibt immer diese Warnung aus:
WARNUNG: apt hat keine stabile CLI-Schnittstelle. In Skripten mit Vorsicht verwenden.
Vorläufig habe ich versucht, beide umzuleiten STDOUTund zu STDERRverwenden, &>und es hat sich herausgestellt, pack_info.txtdass wir eine Datei erhalten , die wir brauchen.
Ich habe auch versucht, Inhalte von zu bekommen, dpkgund das hat auch funktioniert:
dpkg -s $PACKAGE_NAME > pack_info.txt
Was gut ist, dass es weder eine Warnung noch einen Fehler zeigt.
Was ist schlecht, dass wir nicht dpkg verwenden wollen und nur wollen, dass STDOUT von apt in die Datei umleitet.
Ich muss also drei Fragen stellen:
- Was genau verstehen wir unter stabiler CLI-Schnittstelle?
- Wie können solche Befehle in Skripten sicher und fehlerfrei verwendet werden? [bitte am Beispiel erläutern]
- Gibt es eine Möglichkeit, STDOUT nur
apt showin eine Datei umzuleiten ?