最近学习linux编程,其中学到shell编程是要求自己写个MyShell
在实现最基本的cd命令时就碰到了麻烦:chdir无法进出带空格的目录名
百度了一些都说chdir()不可进出,但实际上chdir()是可以的,需要把' '换为'\ '
以此为契机,把我今晚的工作:cd命令的实现介绍一遍
现有如下目录结构: /home/yong/Desktop/ /e e /e e e/
bash中要从/home/yong/Desktop切换到/home/yong/Desktop/ /e e /e e e/的一些办法:
cd ./Desktop/' '/'e e '/'e e e'
cd ./Desktop/" "/"e e "/"e e e"
cd ./Desktop/\ /e\ e\ /e\ e\ e/
没错,下面的工作从仿造开始
环境:
ubuntu 12.04 LTS
gcc-ver: i686-linux-gnu 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
要实现的功能:
输入:带空格的路径名
内部处理:利用chdir()函数cd到输入的路径
输出:切换路径后的新路径
测试样例1:
输入:
/home/yong/