shell初始化问题,当点击标签时,getcwd有什么问题?

一旦我点击bash上的标签,错误信息会出现,怎么了?

symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: Success symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: Success symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: Success symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: Success symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: Success symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: Success 

有时候,错误信息是:

 shell-init: error retrieving current directory: getcwd: cannot access parent directories: No s uch file or directory 

如何解决shell初始化问题?

这通常发生在当前目录不存在的时候。 最有可能的是,从另一个terminal删除该目录(从一个脚本或其他)。 为了摆脱这一点,万一你的当前目录是在同一时间重新创build,只需要cd到另一个(现有的)目录,然后cd回来; 最简单的是: cd; cd - cd; cd -

只需将目录更改为另一个,然后回来。 可能那个被删除或移动了。

偶然的情况是,这是否出现在使用OverlayFS(或其他特殊文件系统types)的目录上?

我只是有这个问题,我的交叉编译的版本的bash将使用与OverlayFS问题的getcwd的内部实现。 我在这里find关于这个的信息:

看来这可以追溯到bash中的getcwd()的内部实现。 交叉编译时,不能检查malloc的getcwd()使用情况,所以谨慎并设置GETCWD_BROKEN并使用getcwd()的内部实现。 这个内部实现似乎不适用于OverlayFS。

http://permalink.gmane.org/gmane.linux.embedded.yocto.general/25204

你可以用bash_cv_getcwd_malloc=yes来configuration和重buildbash(如果你实际上正在构buildbash,而你的C库的malloc是一个getcwd调用的话)。

是的,CD; 和CD – 将工作。 可以看到的原因是,目录正在被删除从任何其他terminal或任何其他程序,并重新创build它。 所以i-node条目被修改,所以程序不能访问旧的i-node条目。