GNU/Linux >> Znalost Linux >  >> Linux

Proč překladový soubor Bash neobsahuje všechny chybové texty?

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.


Linux
  1. Soubor metadat neodpovídá kontrolnímu součtu – chyba YUM!

  2. Proč regulární výraz funguje v X, ale ne v Y?

  3. Proč `md5sum` nedává stejný hash jako internet?

  1. Proč následující způsob nezmění velikost základního souboru?

  2. Proč „zip“ v A For Loop funguje, když soubor existuje, ale ne, když neexistuje?

  3. Proč Regex v Bash funguje pouze v případě, že je proměnnou a ne přímo?

  1. Softwarové centrum se vůbec neotevře Chyba?

  2. Příkaz sed pro Linux nemění cílový soubor

  3. Proč se bash nezastaví při chybě pro selhání v sekvenci zkratovaných příkazů?