Stáhl jsem si nejnovější verzi (zatím 4.4) zdrojů Bash ze stránek GNU.
Otevřel jsem francouzský překladový soubor (fr.po ) z po adresář a hledal jsem „povolení odepřeno“. Nebyly nalezeny žádné výsledky.
Když otevřu terminál a spustím cd /var/log/apache2 Zobrazuje se mi chyba:bash: cd: /var/log/apache2: Permission denied . Je to tedy chyba Bash, ale není zahrnuta ve zmíněném souboru. Také, když grep -rn . -e "denied" v adresáři zdrojů bash dostanu pouze 2 výsledky, oba jsou ze souboru “COPYING”.
Navíc, když změním jazyk Bash tímto příkazem:export LC_ALL=fr_FR Dostávám bash: cd: /var/log/apache2: Permission non accordée . Změna jazyka Bash tuto chybu změní, takže je to další důkaz, že se skutečně jedná o zprávu Bash.
Ví někdo, proč není tato chyba zahrnuta v souboru po?
Přijatá odpověď:
Řetězec pochází z strerror(3) , která mapuje čísla chyb na zprávy. V tomto případě je to mapování EACCES . Řetězce (a jejich překlady) jsou obsaženy ve vaší knihovně C.