我从以下网址下载了最新版本(目前为 4.4)的 Bash 源代码:GNU 网站。
我从目录中打开法语翻译文件(fr.po
)po
并搜索“权限被拒绝”。没有结果。
当我打开终端并运行时,cd /var/log/apache2
出现错误:bash: cd: /var/log/apache2: Permission denied
。所以它是一个 Bash 错误,但它没有包含在提到的文件中。另外,当我grep -rn . -e "denied"
在 bash 源目录中时,我只得到 2 个结果,这两个结果都来自文件“COPYING”。
此外,当我使用此命令更改 Bash 语言时:export LC_ALL=fr_FR
我得到bash: cd: /var/log/apache2: Permission non accordée
.更改 Bash 语言会更改此错误,因此这是这确实是 Bash 消息的另一个证据。
有谁知道为什么这个错误不包含在 po 文件中?
答案1
该字符串来自strerror(3)
,映射错误号到消息。在本例中,它是映射EACCES
。字符串(及其翻译)包含在您的 C 库中。