cd命令为何要实现成shell内建命令

来源:互联网 发布:java socket建立长连接 编辑:程序博客网 时间:2024/05/17 03:53

如果不使用内建命令而是fork出一个子进程并且在子进程中执行的话,不会改变父环境的路径。

因为执行结束了又回到了父shell环境,环境的pwd根本没有被改变,所以就会失败。

可以自己写一个脚本测试下:cd.sh

#!/bin/bash
cd /home/

然后执行./cd.sh 你会发现当前shell的路径根本没有变化。

同样的道理,想改变当前shell的很多参数和环境变量表内容都要使用内建命令。


原创粉丝点击