在bash中工作我遇到了一个错误:
user@host:~$ cd ..
bash: cd: write error: Success
它发生了一次,下次我尝试cd一切都很顺利。但是我不想重复这个错误,所以我对这个错误有2个问题:
答案 0 :(得分:0)
- 为什么bash在改变dir时试图写点什么?
醇>
Bash会记录您运行的每个命令的历史记录,最终会记录在~/.bash_history
中。尝试写入可能与此有关。
- 更有趣 - 为什么成功可能是一个错误?
醇>
这是一个显示错误。成功不是错误。
如果您希望开发人员了解它是如何发生的,我非常有信心这样说:
bash
检测到错误,可能是通过I / O函数的返回码和perror()
函数来打印解释性消息。但是,当它这样做时,errno
变量已被重置,如果它已被设置在第一位。通常在调用发出错误的函数和调用errno
之间调用另一个库函数时会发生perror()
的重置。查看实际的错误消息,bash
实现调用sprintf()
来格式化错误消息的一部分是合理的,但这样做会破坏errno
。