我正在实现一个类似 Linux shell 的程序。我正在编写 cd
内置命令。
我想支持添加以下标志:.
、..
、-
、~
。
我目前正在使用 chdir()
函数,我注意到它适用于 .
、..
(如果我错了,请纠正我)。
但是,对于 -
和 ~
,它没有效果。两者都是我单独输入的,也就是:cd ~
、cd –
,以及两者的更复杂组合。
无论如何能告诉我这是为什么吗?我该如何解决这个问题?
具体来说,~
很容易解决,我可以获取主目录并简单地重定向。
就-
而言,它会更复杂,我必须存储最近的路径并在有变化时总是更新,不理想。
有人对如何实现标志有更好的想法吗?
谢谢