当前位置: 技术问答>linux和unix
Linux 下的cd命令为什么要实现成shell的内建命令
来源: 互联网 发布时间:2016-12-15
本文导语: Linux 下的cd命令为什么要实现成shell的内建命令,而不是fork一个新的进程去做? | fork一个的话 cd就是在子进程里执行的 只在子进程里有效 不会改变父环境的路径 执行结束了 又回到...
Linux 下的cd命令为什么要实现成shell的内建命令,而不是fork一个新的进程去做?
|
fork一个的话 cd就是在子进程里执行的 只在子进程里有效 不会改变父环境的路径 执行结束了 又回到了父shell环境
你可以自己试试 写一个脚本test.sh
#!/bin/sh
cd /some/path
touch testfile
然后执行./test.sh 你看看你当前shell环境的路径会改变吗?!
但是/some/path下 你已经创建了一个testfile
这就是为什么设置环境变量的时候也要用source或者.这样的内建命令!
你可以自己试试 写一个脚本test.sh
#!/bin/sh
cd /some/path
touch testfile
然后执行./test.sh 你看看你当前shell环境的路径会改变吗?!
但是/some/path下 你已经创建了一个testfile
这就是为什么设置环境变量的时候也要用source或者.这样的内建命令!