linux中如何判断是不是shell内置命令?

问题描述

在听linux视频教程时,里面说cd、umask都说shell的内置命令,所以没有路径;
判断方法是用which来查看命令,如果没有路径就是shell内置命令;
视频教程中确实没返回路径,但是我在我的电脑上运行却出现了路径,在/usr/bin/cd

我的系统上CentOS,他们演示的环境也是,为什么会有不一样的效果?

他们的是6的版本,我的是7的版本

阅读 5.6k
4 个回答

视频真是误导新人,判断是否为内置命令要用 type ,加上 -a 可以查看命令所在路径。

$ type cd
cd is a shell builtin

直接输入type cd就可以知道是不是buildin了

cd,umask属于内建命令。你的cd能显示目录只是说明有一个同名的系统命令存在,这个命令可能行为上与内建命令大部分是一至的。

根据路径来判断,在 bin路径下的就不是内部命令

推荐问题