Piszę skrypt, który musi odczytać plik zawierający informacje o pakiecie, dla którego napisałem ten wiersz
apt show $PACKAGE_NAME > pack_info.txt
Jednak to nie tworzy pack_info.txt
pliku i zawsze wyświetla to Ostrzeżenie:
OSTRZEŻENIE: apt nie ma stabilnego interfejsu CLI. Używaj ostrożnie w skryptach.
Na razie próbowałem przekierować oba pliki STDOUT
i STDERR
używać &>
i udało się uzyskać plik pack_info.txt
, którego potrzebujemy.
Próbowałem też pobrać zawartość dpkg
i to również działało:
dpkg -s $PACKAGE_NAME > pack_info.txt
Co dobrego, że nie pokazuje ani ostrzeżenia, ani błędu.
Co jest niedobre, że nie chcemy używać dpkg i chcemy tylko STDOUT apt do przekierowania do pliku.
Mam więc trzy pytania:
- Co dokładnie rozumiemy przez stabilny interfejs CLI?
- Jak bezpiecznie i bezbłędnie używać takich poleceń w skryptach? [proszę wyjaśnić na przykładzie]
- Czy istnieje sposób tylko i wyłącznie przekierowywania STDOUT
apt show
do pliku?
źródło