cd命令为什么时候内建命令

1. 外建命令,首先会fork一个子进程,在子进程中执行cd,只改变子进程的当前工作目录

2. 内建命令,在当前shell进程中执行,改变当前目录

例如:a.sh

#!/bin/sh 

cd /home

ls

1. sh a.sh, 只改变子进程工作目录

2. source a.sh, 改变当前工作目录,并执行ls


 用户在命令行输入命令后,一般Shell会fork并exec该命令,但是内建命令除外。执行内建命令相当于调用Shell的一个函数,并不创建新的进程。
比如:cd、alias、umask、exit等命令即是内建命令。

凡是用which命令查不到程序文件所在位置的命令都是内建命令

内建命令没有单独的man手册,要在man手册中查看内建命令,应该man bash-builtins

内建命令虽然不创建新的进程,但也会有Exit Status,通常也用0表示成功非零表示失败,可以用特殊变量$?读出 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值