DragonOS icon indicating copy to clipboard operation
DragonOS copied to clipboard

切换目录的时候与..相关的若干bug

Open HoshuChiu opened this issue 2 years ago • 3 comments

示例:

  • cd bin/..会跳转到一个提示为bin/..的目录下,该目录执行ls会输出一个名为c的文件
  • 执行cd ../..的时候,如果目录深度足够,则会跳转到{dir}/../..,如果目录深度不足则报错

总之需要对..进行额外检查

另外cd //会跳转到//下,ls显示正常,此时cd bin/..会跳转到///bin/..下

HoshuChiu avatar Apr 19 '23 12:04 HoshuChiu

这确实是问题,但是由于目前shell是暴力实现的,要做各种检查会很麻烦,导致一堆屎山代码。目前有一个同学正在研究用rust重写shell,通过类似编译器的词法分析、语法语义分析的方式来解析shell命令。写出来之后,这种问题就不存在了。 现在不打算修复的原因是,目前的shell的设计导致了这样的问题修不完哈哈

fslongjin avatar Apr 19 '23 12:04 fslongjin

哦,我还以为这些是在文件系统里面检查的

HoshuChiu avatar Apr 19 '23 13:04 HoshuChiu

这确实是问题,但是由于目前shell是暴力实现的,要做各种检查会很麻烦,导致一堆屎山代码。目前有一个同学正在研究用rust重写shell,通过类似编译器的词法分析、语法语义分析的方式来解析shell命令。写出来之后,这种问题就不存在了。 现在不打算修复的原因是,目前的shell的设计导致了这样的问题修不完哈哈

我想一起重写shell,怎么参加?

yuyi2439 avatar Sep 01 '23 12:09 yuyi2439

现在也没这个问题了

yuyi2439 avatar Feb 19 '24 00:02 yuyi2439