w środowisku Linux (w moim przypadku XUbuntu), czy istnieje sposób na sprawdzenie, które zmienne środowiskowe są dostępne za pomocą polecenia uruchamianego z konsoli?Dowiedz się, które zmienne środowiskowe używane przez komendę
Musi być możliwe uzyskanie informacji o tych zmiennych, ponieważ ktoś musi podać wartości do programu. Ale czy jest jakaś domyślna metoda, aby to zrobić?
Program, o którym tu mowa, to xprintidle.
Dzięki z góry, Jost
Coś takiego wydaje się być drogą do rozwiązania, ale pojawia się problem: nie ma połączeń do getenv, ale wiem na pewno, że dostęp do zmiennej środowiskowej jest możliwy (w wywołaniu biblioteki). Jednak używając strace otrzymuję "execve ("/usr/bin/xprintidle ", [" xprintidle "], [/ * 41 vars * /])" jako pierwsze połączenie. Czy to oznacza, że zmienne nie są pobierane przez getenv? – Jost
Nie - 'execve()' jest zawsze sposobem, w jaki programy są wykonywane ('execl()' i przyjaciele są po prostu wrapperami), a jego trzeci argument jest tablicą wskaźników wszystkich zmiennych środowiskowych. Zobaczysz to połączenie w każdym kroku realizowanego programu. – fge
Wspomniałem ** ltrace ** not * strace *; one nie są takie same! –