GNU/Linux >> Linux Esercitazione >  >> Linux

Perché il file di traduzione Bash non contiene tutti i testi di errore?

Ho scaricato l'ultima versione (4.4 per ora) dei sorgenti Bash dal sito di GNU.

Ho aperto il file di traduzione francese (fr.po ) da po directory e ho cercato "permesso negato". Non ci sono stati risultati.

Quando apro il terminale ed eseguo cd /var/log/apache2 Ottengo l'errore:bash: cd: /var/log/apache2: Permission denied . Quindi è un errore Bash ma non è incluso nel file menzionato. Inoltre, quando grep -rn . -e "denied" nella directory dei sorgenti di bash ottengo solo 2 risultati, entrambi provenienti dal file "COPYING".

Inoltre, quando cambio la lingua di Bash con questo comando:export LC_ALL=fr_FR Ottengo bash: cd: /var/log/apache2: Permission non accordée . La modifica della lingua di Bash cambia questo errore, quindi è un'altra prova che questo è davvero un messaggio Bash.

Qualcuno sa perché questo errore non è incluso nel file po?

Risposta accettata:

La stringa proviene da strerror(3) , che associa i numeri di errore ai messaggi. In questo caso, sta mappando EACCES . Le stringhe (e le relative traduzioni) sono contenute nella tua libreria C.


Linux
  1. Perché lo script Bash non riconosce gli alias?

  2. Il Bash '?

  3. Perché la sostituzione del processo Bash non funziona con alcuni comandi?

  4. Perché la Regex in Bash funziona solo se è una variabile e non direttamente??

  5. Linux:perché Rsync su Linux non conserva tutti i timestamp (ora di creazione)?

Come risolvere il problema:l'utente non è nell'errore del file sudoers

Linux:l'intestazione Vmlinux contiene la lunghezza dell'immagine del kernel?

Perché `zip` in un ciclo For funziona quando il file esiste, ma non quando non lo è?

Perché bash non si ferma in caso di errore per errori nella sequenza di comandi in cortocircuito?

Perché ENOENT significa No such file or directory?

Perché wget'ing un'immagine mi dà un file, non un'immagine?