hug*_*eow 143 linux bash shell pwd getcwd
一旦我点击bash上的Tab,就会出现错误信息,出了什么问题?
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
Run Code Online (Sandbox Code Playgroud)
有时,错误信息是:
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No s uch file or directory
Run Code Online (Sandbox Code Playgroud)
如何解决shell init问题?
Cos*_*atu 264
当您的当前目录不再存在时,通常会发生这种情况.很可能,从另一个终端删除该目录(从脚本或其他内容).要摆脱这种情况,万一你的当前目录在此期间被重新创建,只需cd到另一个(现有的)目录再cd返回; 最简单的是:cd; cd -.
偶然地,这是在使用OverlayFS(或某些其他特殊文件系统类型)的目录上发生的吗?
我只是遇到了这个问题,我的bash的交叉编译版本将使用内部实现,getcwd而OverlayFS出现了问题。我在这里找到有关此信息:
看来这可以追溯到bash中getcwd()的内部实现。交叉编译时,它无法检查是否使用了malloc的getcwd(),因此它很谨慎并设置了GETCWD_BROKEN并使用了getcwd()的内部实现。这种内部实现似乎不适用于OverlayFS。
http://permalink.gmane.org/gmane.linux.embedded.yocto.general/25204
您可以使用以下命令配置和重建bash bash_cv_getcwd_malloc=yes(如果您实际上是在构建bash,并且您的C库确实分配了getcwd调用)。